Sudo Komutlarının Loglanması

Daha önceki yazımda 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.

scription">PHP- Kodu:
***nbsp;vi /etc/sudoers.d/gokhan 

description">PHP- Kodu:
gokhan   ALL=(ALL)   NOPASSWDLOG_INPUTLOG_OUTPUTALLDefaults 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.


PHP- Kodu:
.└── 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.

PHP- Kodu:
***nbsp;find /var/log/sudo-io/ -name log -exec cat {} \; | grep "::" -A 2 | awk -F: ' ~ /^[0-9]+$/{printf  "%s%s",(NR>1)?"\n":"",;next} {printf ";" 
PHP- Kodu:
***nbsp;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"}'  } END{printf "\n"}' 


Çıktı:
PHP- Kodu:
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ı