Linux Sunucularda System Servisi Oluşturmak

Linux Sunucularda System Servisi Oluşturmak

/etc/systemd/system/ klasörü içinde bir dosya oluşturuyoruz. Servisimizin adını hatırlatacak şekilde isim verilmesi işimizi kolaylaştıracaktır.

Örneğin grafana.service

Bu dosyanın içinde Servisin tanımını, çalışacağı path’i ve çalışma modlarını tanımlayabilirsiniz. Aşağıda grafana için oluşturduğumuz bir örnek bulunmaktadır.

cat /etc/systemd/system/grafana.service

[Unit]
Description=Grafana Servisi

[Service]
WorkingDirectory=/root/
Type=forking
ExecStart=/bin/bash grafana_start.sh
KillMode=process

[Install]
WantedBy=multi-user.target

Görüldüğü üzere /root dizini içinde grafana_start.sh dosyasını çalıştırması beklenmektedir, Çalıştırdığında oluşan process id yi yazar, servisi stop ettiğinizde bu pid’i kill eder.

Servis dosyamızı oluşturduktan sonra bunu sisteme duyurmak gerekir , aşağıdaki komut ile yapabilirsiniz.

systemctl daemon-reload

Sistemin yeniden başlangıcında çalışması için enable edebilirsiniz.

systemctl enable grafana

Bu sırada servisin çalıştıracağı bash scriptine de göz gezdirelim. /root dizini içinde grafana_start.sh isimli bir dosya oluşturduk. Dosyanın içeriği aşağıdaki gibi.

#!/bin/sh
nohup /opt/Grafana/grafana_7.5.2/bin/grafana-server -homepath /opt/Grafana/grafana_7.5.2/ > /dev/null 2>&1 &

Bash scriptlerin çalışabilmesi için çalışma hakkının olması gerekir. Aşağıdaki şekilde yapabilirsiniz.

chmod +x /root/grafana_start.sh

Şimdi servisimizi start edebiliriz.

systemctl start grafana

Aşağıda start/stop sonuçlarınıi görebilirsiniz.

[[email protected] ~]# ps aux | grep graf | grep -v color
[[email protected]hostrazzi02 ~]#
[[email protected]hostrazzi02 ~]# systemctl start grafana
[[email protected]hostrazzi02 ~]#
[[email protected]hostrazzi02 ~]# ps aux | grep graf | grep -v color
root     62255  4.2  0.0 1199056 42824 ?       Sl   14:18   0:00 /opt/Grafana/grafana_7.5.2/bin/grafana-server -homepath /opt/Grafana/grafana_7.5.2/
[[email protected]hostrazzi02 ~]#
[[email protected]hostrazzi02 ~]# systemctl stop grafana
[[email protected]hostrazzi02 ~]#
[[email protected]hostrazzi02 ~]# ps aux | grep graf | grep -v color
[[email protected]hostrazzi02 ~]#
[[email protected]hostrazzi02 ~]# systemctl start grafana
[[email protected]hostrazzi02 ~]#
[[email protected]hostrazzi02 ~]#
[[email protected]hostrazzi02 ~]# ps aux | grep graf | grep -v color
root     62336  8.0  0.0 1059788 37252 ?       Sl   14:19   0:00 /opt/Grafana/grafana_7.5.2/bin/grafana-server -homepath /opt/Grafana/grafana_7.5.2/
[[email protected]hostrazzi02 ~]#

Bash Güvenlik Açığı

Linux sistemleri etkileyen , heartbleed ten daha tehlikeli gözüken yeni bir açık bulundu , en kısa sürede bash i güncellemelisiniz ,açıktan etkilenip etkilenmediğinizi anlamak için terminal de aşağıdaki komutu çalıştırınız.

env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”

eğer çıktısı aşağıdaki gibi ise acilen yama yapmalısınız.

vulnerable
this is a test

Eğer komutu çalıştırdığınızda aşağıdaki sonucu görüyor iseniz Sizin korkacak bir şeyinizi yok demektir.

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x’
this is a test

Ayhan ARDA