husonet | Tarih: 30.05.2015
Loglardan Sistemi Kapatanı Nasıl Öğreniriz?
Linux Debian üzerinde sistemi kapatan kişinin loglar üzerinden incelenmesi
Örneğin ben bunu uyguluyorum
var/log/messages
Mar 01 23:12:34 hostname shutdown: shutting down for system halt
Kapatmaya neyin neden olduğunu öğrenmek için aşağıdaki yollar izlenebilir
Sadece root ayrıcalıklı programlar öncelikle kapatmalı bir sistem olabilirler.
Bir sistem normal bir şekilde kapatıldığında, yani kök ayrıcalıklarına sahip bir kullanıcı, ya da acpi komut dosyasının varlığını kontrol eder.
Her iki durumda da günlükleri kontrol ederek öğrenebilirsiniz .Bir acpi kapatma güç düğmesine basınca, aşırı ısınma ya da düşük pilde ( dizüstü bilgisayar )arızaya neden olabilir.
Aşağıdaki komut dizilerini inceleyelim.
Ekrandaki son reboot girişleri için:
ast reboot | less
yada
last -x shutdown
Son kapatma girişlerinin ekran listesi için:
last -x | less
yada daha doğru olanı :
last -x | grep shutdown | less
Bununla birlikte, kimin yaptığını bilmeyeceğiz. Kimin yaptığını bilmek istiyorsanız biraz kod eklemeniz gerekebilir.
Aşağıdaki kaynak size belki yardımcı olabilir.(kaynak dili ingilizcedir.bkz: http://scofaq.aplawrence.com/FAQ_scotec1haltcatch.html)
Çok bir fikrim olmasada belki şu kodda işe yarayabilir. Girilen last komutu bütün kullanıcı bilgileri için kontrol eder.
Sonra kullanıcılar filtre ile halt için o anda oturum açmış olur.Sonra .
bash_history
ile dosyayı görmek için girerler.Bazı muhtemel log dosyalarını keşfetmek için:
/var/log/debug
/var/log/syslog
/var/log/user.log
/var/log/kern.log
/var/log/boot
Tekrardan, bu log dosyaları Debian tabanlı sistemlerde mevcuttur. Dosya ismi farklılık gösterebilir.
tail
komutu izleme konusunda size yardımcı olacak.{reklam}
tail komutunun basitleştirilmiş hali ekrandaki sistemin kapatılıp yada restart edildiğini gösterir.
last -x shutdown reboot
Tatmin Edici olmayan bazı şeyler ortaya çıkabilir
Grep yoluyla
makina eğer kapatılsa idi bunu yazardım.Ancak ilk nedeni gösteriyor./var/log
shutdown[25861]: shutting down for system halt
Diğer çözüm
last -x
yeteri kadar yardımcı değil.Nasıl Çalıştığını Bulmaya Çalışalım
/etc/acpi/powerbtn-acpi-support.sh
if [ -x /etc/acpi/powerbtn.sh ] ; then
# Compatibility with old config script from acpid package
/etc/acpi/powerbtn.sh
elif [ -x /etc/acpi/powerbtn.sh.dpkg-bak ] ; then
# Compatibility with old config script from acpid package
# which is still around because it was changed by the admin
/etc/acpi/powerbtn.sh.dpkg-bak
else
# Normal handling.
/sbin/shutdown -h -P now "Power button pressed"
fi
Verilen bir metni parametre olarak shutdown komut ile verilecek.
Günlükleri Ayarlama
Aldığımız açık mesajı root olan textin altına koyduğumda yeni yaratacağımız loglar ,
/etc/acpi/powerbtn.sh
komutu chmod a+x /etc/acpi/powerbtn.sh
ile çalıştırılabilir.#!/bin/sh
logger in /etc/acpi/powerbtn.sh, presumably
/sbin/shutdown -h -P now
Bu şekilde yaparak,muhtemelen değiştirerek daha uzun ömürlü değişiklik yapacaktır.
/etc/acpi/powerbtn-acpi-support.sh
İkinci seçenek muhtemelen paketin sonraki yükseltme etkisini kaybedecektir.
acpi-support-base.
Not olarak;Ubuntu 14.04 de bildirimi farklı olur. (
/etc/acpi/powerbtn.sh
zaten farklı içeriğe sahip acpid paketi)Debian 8 de muhtemelen farklı olabilir.Varyantları sunmak için çekinmeyin. Muhtemelen farklı yapar .
Karımız Nedir?
Güç düğmesine basıldığı zaman aşağıdaki gibi bir satır görünür.
/var/log/messages, /var/log/syslog ve /var/log/user.log
logger: in /etc/acpi/powerbtn.sh, presumably Power button pressed