erkolay
06.Haziran.2015, 21:09
Sudo Komutlarının Loglanması
Daha önceki yazımda (https://www.gokhanmankara.com/2014/05/sudoers-listesine-kullanici-ekleme/) kullanıcıya nasıl sudo yetkisi verilebileceğinden bahsetmiştim. Bu yazıda da sudo yetkisi verdiğiniz kullanıcının uyguladığı komutları nasıl loglayacağımıza bakacağız. Önceki yazıda sudoers dosyasına kullanıcıyı eklemiştik, bu yazıda sudoers.d altına kullanıcıları oluşturacağız.
# vi /etc/sudoers.d/gokhan
gokhan ALL=(ALL) NOPASSWD: LOG_INPUT: LOG_OUTPUT: ALLDefaults iolog_dir=/var/log/sudo-io/%{user}
gokhan kullanıcısına şifresiz olarak sudo komutu çalıştırma yetkisi vermiş olduk. iolog_dir dizinini oluşturmamıza gerek yok, default olarak dizin oluşacaktır.
sudo-io dizinine baktığınızda birden fazla dosya oluştuğunu görürsünüz.
.└── gokhan ├── 00 │ └── 00 │ ├── 01 │ │ ├── log │ │ ├── stderr │ │ ├── stdin │ │ ├── stdout │ │ ├── timing │ │ ├── ttyin │ │ └── ttyout │ ├── 02 │ │ ├── log │ │ ├── stderr │ │ ├── stdin │ │ ├── stdout │ │ ├── timing │ │ ├── ttyin │ │ └── ttyout │ ├── 03 │ │ ├── log │ │ ├── stderr │ │ ├── stdin │ │ ├── stdout │ │ ├── timing │ │ ├── ttyin │ │ └── ttyout │ ├── 04 │ │ ├── log │ │ ├── stderr │ │ ├── stdin │ │ ├── stdout │ │ ├── timing │ │ ├── ttyin │ │ └── ttyout │ ├── 05 │ │ ├── log │ │ ├── stderr │ │ ├── stdin │ │ ├── stdout │ │ ├── timing │ │ ├── ttyin │ │ └── ttyout │ ├── 06 │ │ ├── log │ │ ├── stderr │ │ ├── stdin │ │ ├── stdout │ │ ├── timing │ │ ├── ttyin │ │ └── ttyout │ └── 07 │ ├── log │ ├── stderr │ ├── stdin │ ├── stdout │ ├── timing │ ├── ttyin │ └── ttyout └── seq
Bu dosya çokluğunun içinde kaybolmak yerine aşağıdaki komut ile sudo izni verdiğiniz kullanıcının neler yaptığını görebilirsiniz.
# find /var/log/sudo-io/ -name log -exec cat {} \; | grep "::" -A 2 | awk -F: '$1 ~ /^[0-9]+$/{printf "%s%s",(NR>1)?"\n":"",$1;next} {printf ";" $0} END{printf "\n"}'
Çıktı:
1427012536;/var/log;/usr/bin/yum install1427014071;/var/log;/bin/cat /etc/passwd1427011890;/home/gokhan;/usr/bin/yum update1427014063;/var/log;/bin/cat /etc/shadow1427010846;/home/gokhan;/bin/ls /var/log/sudo-io/1427010852;/home/gokhan;/bin/ls /var/log/sudo-io/gokhan1427010823;/home/gokhan;/usr/bin/yum update1427010863;/home/gokhan;/bin/cat /var/log/sudo-io/gokhan1427011064;/home/gokhan;/usr/bin/yum update
Kaynak: Gökhan Mankara: Sudo Komutlarının Loglanması (https://www.gokhanmankara.com/2015/03/sudo-komutlarinin-loglanmasi/)
Daha önceki yazımda (https://www.gokhanmankara.com/2014/05/sudoers-listesine-kullanici-ekleme/) kullanıcıya nasıl sudo yetkisi verilebileceğinden bahsetmiştim. Bu yazıda da sudo yetkisi verdiğiniz kullanıcının uyguladığı komutları nasıl loglayacağımıza bakacağız. Önceki yazıda sudoers dosyasına kullanıcıyı eklemiştik, bu yazıda sudoers.d altına kullanıcıları oluşturacağız.
# vi /etc/sudoers.d/gokhan
gokhan ALL=(ALL) NOPASSWD: LOG_INPUT: LOG_OUTPUT: ALLDefaults iolog_dir=/var/log/sudo-io/%{user}
gokhan kullanıcısına şifresiz olarak sudo komutu çalıştırma yetkisi vermiş olduk. iolog_dir dizinini oluşturmamıza gerek yok, default olarak dizin oluşacaktır.
sudo-io dizinine baktığınızda birden fazla dosya oluştuğunu görürsünüz.
.└── gokhan ├── 00 │ └── 00 │ ├── 01 │ │ ├── log │ │ ├── stderr │ │ ├── stdin │ │ ├── stdout │ │ ├── timing │ │ ├── ttyin │ │ └── ttyout │ ├── 02 │ │ ├── log │ │ ├── stderr │ │ ├── stdin │ │ ├── stdout │ │ ├── timing │ │ ├── ttyin │ │ └── ttyout │ ├── 03 │ │ ├── log │ │ ├── stderr │ │ ├── stdin │ │ ├── stdout │ │ ├── timing │ │ ├── ttyin │ │ └── ttyout │ ├── 04 │ │ ├── log │ │ ├── stderr │ │ ├── stdin │ │ ├── stdout │ │ ├── timing │ │ ├── ttyin │ │ └── ttyout │ ├── 05 │ │ ├── log │ │ ├── stderr │ │ ├── stdin │ │ ├── stdout │ │ ├── timing │ │ ├── ttyin │ │ └── ttyout │ ├── 06 │ │ ├── log │ │ ├── stderr │ │ ├── stdin │ │ ├── stdout │ │ ├── timing │ │ ├── ttyin │ │ └── ttyout │ └── 07 │ ├── log │ ├── stderr │ ├── stdin │ ├── stdout │ ├── timing │ ├── ttyin │ └── ttyout └── seq
Bu dosya çokluğunun içinde kaybolmak yerine aşağıdaki komut ile sudo izni verdiğiniz kullanıcının neler yaptığını görebilirsiniz.
# find /var/log/sudo-io/ -name log -exec cat {} \; | grep "::" -A 2 | awk -F: '$1 ~ /^[0-9]+$/{printf "%s%s",(NR>1)?"\n":"",$1;next} {printf ";" $0} END{printf "\n"}'
Çıktı:
1427012536;/var/log;/usr/bin/yum install1427014071;/var/log;/bin/cat /etc/passwd1427011890;/home/gokhan;/usr/bin/yum update1427014063;/var/log;/bin/cat /etc/shadow1427010846;/home/gokhan;/bin/ls /var/log/sudo-io/1427010852;/home/gokhan;/bin/ls /var/log/sudo-io/gokhan1427010823;/home/gokhan;/usr/bin/yum update1427010863;/home/gokhan;/bin/cat /var/log/sudo-io/gokhan1427011064;/home/gokhan;/usr/bin/yum update
Kaynak: Gökhan Mankara: Sudo Komutlarının Loglanması (https://www.gokhanmankara.com/2015/03/sudo-komutlarinin-loglanmasi/)