Belge

Linux’ta Sudo Geçmişi Nasıl Kontrol Edilir

Bilgisayarınızı başkalarıyla paylaşırken ve onlara sudo erişimi verdiyseniz, onu nasıl kullandıklarını izlemek akıllıca olur. Neyse ki Linux ‘ta sudo geçmişini kontrol etmek kolaydır. Nasıl olduğunu görelim.

Kimlik Doğrulama Günlüğü

Pek çok Linux hizmeti, sorunları gidermeye yardımcı olmak için günlükler tutar. Neyse ki, diğer şeylerin yanı sıra, bu makalede tam olarak aradığımız bilgilerin ayrıntılı bir listesini de tutar. Bu listede, sudo kullanarak kimin ve ne zaman hangi komutu verdiğini kontrol edebilirsiniz. Bu bilgiyi bulmak için, Debian veya Ubuntu tabanlı bir dağıtım kullanıyorsanız, terminal penceresini açarak aşağıdaki komutu girin:

sudo  nano  / var / log / auth.log

Diğer dağıtımlarda bu bilgi “/var/log/secure” veya “/var/log/audit/audit.log” konumunda olabilir. Bu günlük dosyasının konumunu sudoer dosyasını kontrol ederek bulabilirsiniz . Bu da dağılıma bağlı olarak farklı bir noktada bulunabilir. Genellikle “/etc/sudoers” konumunda bulunur.

Günlükleri İncelemek

Günlük dosyası, muhtemelen ilgilenilmeyen bir ton giriş içerecektir. Sudo’nun her kullanımını bulmak için dosyayı satır satır inceleyebilir veya metin düzenleyicinizin bul işlevini kullanabilirsiniz.

Jul 11 16:00:39 pardus pkexec[3982]: lokal: Executing command [USER=root] [TTY=unknown] [CWD=/home/lokal] [COMMAND=/usr/sbin/mate-power-backlight-helper --set-brightness 128]
Jul 11 16:00:40 pardus pkexec: pam_unix(polkit-1:session): session opened for user root by (uid=1000)
Jul 11 16:00:40 pardus pkexec[3988]: lokal: Executing command [USER=root] [TTY=unknown] [CWD=/home/lokal] [COMMAND=/usr/sbin/mate-power-backlight-helper --set-brightness 435]
Jul 11 16:12:19 pardus sudo: lokal : TTY=pts/0 ; PWD=/home/lokal ; USER=root ; COMMAND=/usr/bin/apt install screen
Jul 11 16:12:19 pardus sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Jul 11 16:13:14 pardus sudo: pam_unix(sudo:session): session closed for user root
Jul 11 16:16:41 pardus pkexec: pam_unix(polkit-1:session): session opened for user root by (uid=1000)
Jul 11 16:16:41 pardus pkexec[786]: lokal: Executing command [USER=root] [TTY=unknown] [CWD=/home/lokal] [COMMAND=/usr/sbin/mate-power-backlight-helper --set-brightness 128]

Bunun yerine grep komutunu kullanırsanız daha kolay olur. Bu şekilde, günlük içeriğini basit bir sorguya göre filtreleyebilirsiniz. Günlük dosyası İçindeki tüm sudo girişlerini bulmak için aşağıdaki komutu kullanın:

sudo grep sudo /var/log/auth.log

Bu komut, sonuçları doğrudan terminalinizde görüntüler.

Jun 19 18:23:20 pardus sudo: lokal : TTY=pts/1 ; PWD=/home/lokal ; USER=root ; COMMAND=/usr/bin/add-apt-repository ppa:pinta-maintainers/pinta-stable
Jun 19 18:23:20 pardus sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Jun 19 18:23:25 pardus sudo: pam_unix(sudo:session): session closed for user root
Jun 19 18:23:37 pardus sudo: lokal : TTY=pts/1 ; PWD=/home/lokal ; USER=root ; COMMAND=/usr/bin/apt updae
Jun 19 18:23:37 pardus sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Jun 19 18:23:37 pardus sudo: pam_unix(sudo:session): session closed for user root
Jun 19 18:23:39 pardus sudo: lokal : TTY=pts/1 ; PWD=/home/lokal ; USER=root ; COMMAND=/usr/bin/apt update
Jun 19 18:23:39 pardus sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Jun 19 18:23:42 pardus sudo: pam_unix(sudo:session): session closed for user root
Jun 19 18:24:16 pardus sudo: lokal : TTY=pts/1 ; PWD=/home/lokal ; USER=root ; COMMAND=/usr/bin/apt install pinta

Journalctl Kullanın

sudo’nun kim tarafından kullanıldığına bakmanın başka bir yolu da systemd’nin Journalctl’sini kullanmaktır. Bu komut, systemd kullanan her Linux dağıtımıyla birlikte gelen bir sistem günlüğü programıdır .

sudo günlüklerine bakmak için Journalctl kullanmak inanılmaz derecede kolaylık sağlamaktadır. Öncelikle, root kullanıcıda veya süper kullanıcı ayrıcalıklarına sahip bir hesapta oturum açmanız gerekir. Sonra sudo komutunun tüm günlüklerini görüntülemek için aşağıdaki komutu çalıştırın:

sudo journalctl -e /usr/bin/sudo

Bu komut sırayla,journalctl programına sudo programına bakmasını, tüm günlük girişlerini aramasını ve ardından sudo’dan bahseden tüm günlükleri yazdırmasını söyleyecektir.

-- Logs begin at Thu 2022-07-14 19:04:34 +03, end at Thu 2022-07-14 20:41:08 +03. --
Tem 14 20:28:23 pardus sudo[4206]: pam_unix(sudo:auth): authentication failure; logname= uid=1000 euid=0 tty=/dev/pts/0 ruser=lokal rhost= user=lokal
Tem 14 20:28:29 pardus sudo[4206]: lokal : TTY=pts/0 ; PWD=/home/lokal ; USER=root ; COMMAND=/usr/bin/nano / var / log / auth.log
Tem 14 20:28:29 pardus sudo[4206]: pam_unix(sudo:session): session opened for user root by (uid=0)
Tem 14 20:28:34 pardus sudo[4206]: pam_unix(sudo:session): session closed for user root
Tem 14 20:28:45 pardus sudo[4212]: lokal : TTY=pts/0 ; PWD=/home/lokal ; USER=root ; COMMAND=/usr/bin/nano /var/log/auth.log
Tem 14 20:28:45 pardus sudo[4212]: pam_unix(sudo:session): session opened for user root by (uid=0)
Tem 14 20:32:30 pardus sudo[4212]: pam_unix(sudo:session): session closed for user root
Tem 14 20:32:34 pardus sudo[4248]: lokal : TTY=pts/0 ; PWD=/home/lokal ; USER=root ; COMMAND=/usr/bin/grep sudo /var/log/auth.log
Tem 14 20:32:34 pardus sudo[4248]: pam_unix(sudo:session): session opened for user root by (uid=0)
Tem 14 20:32:34 pardus sudo[4248]: pam_unix(sudo:session): session closed for user root
Tem 14 20:38:23 pardus sudo[4298]: lokal : TTY=pts/0 ; PWD=/home/lokal ; USER=root ; COMMAND=/usr/bin/journalctl -e /usr/bin/sudo
Tem 14 20:38:23 pardus sudo[4298]: pam_unix(sudo:session): session opened for user root by (uid=0)
Tem 14 20:38:23 pardus sudo[4298]: pam_unix(sudo:session): session closed for user root

journalctl bir kullanıcının sudo komutunu çağırdığı tüm örnekleri vurgulayacaktır. Yukarıda tartışıldığı gibi, çok kullanıcılı bir sistemi düzeltmeye çalışıyorsanız ve ayrıcalıklı komutları kimin ne zaman çalıştırdığını bilmek istiyorsanız bu yazı yardımcı olabilir.

Bunlara ek olarak grafik ortamlarda kullanabileceğiniz günlük görüntüleyicileri de mevcuttur. Bunlara örnek olarak Gnome Log, KsystemLog ve Mate System Log örnek olarak verilebilir.

Yazının orijinalini buradan okuyabilirsiniz.