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.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.