Kullanıcıları ve süreçleri kontrol etme

Sistem üzerinde tam denetim sağlamak özellikle güvenlik açısından çok önemlidir.Çünkü herhangi bir saldırı sadece dışardan değil , içerden de gelebilir ve ya kullanıcı sistem üzerinde zararlı bir program çalıştırabilir.İşte bu nokta da kullanıcıları ve süreçleri  kontrol altında tutmak gerekir.

GNU/Linux üzerinde "acct" (GNU Accounting Utilities ) adlı araçla kullanıcı ve süreçleri izleyebiliriz.İlk olarak eğer sistem üzerinde "acct" kurulu değil ise kurulumunu yapalım.

# yum install psacct ( CentOS için )
Diğer bazı dağıtımlarda "psacct" yerine "acct" yazarak kurabilirsiniz.Örneğin ;
# emerge acct   (Gentoo için)
# yum install acct ( Suse için )

Kurulum yaptıktan sonra "/var" dizini altında "account" adlı bir klasör ve bu klasörün içinde "pacct" adlı dosya oluşturması gerekir.Eğer bu klasör ve dosyayı oluşturmamışsa elle oluşturalım.

# mkdir /var/account
# touch /var/account/pacct
# chmod 660 /var/account/pacct

Süreç kayıtlarını aktif hale getirelim.

# accton /var/account/pacct

"acct" uygulamasını başlangıça ekleyelim ve çalıştıralım.( CentOS )

# chkconfig psacct on
# service psacct start

Artık "acct" uygulaması ile gelen bazı yararlı komutları inceleyelim."ac" komutu ile başlayalım."ac" komutu kullanıcının sistem üzerinde ne kadar süredir bağlı kaldığını gösterir.

 # ac
 total      537.71

Yukarda görüldüğü gibi "ac" komutu hiç bir parametre almadan sadece komutu veren kullanıcının ne kadar süre sistemde olduğunu gösteriyor.Eğer sistem üzerinde tüm kullanıcıların ne kadar süre sistem üzerinde olduklarını görmek için ise "-p"(people)  parametresi kullanıyoruz.

# ac -p
 ares                           537.95
 zeus                           100.00
 total      637.95
  • İkinci yararlı komutumuz ise "lastcomm" . "lastcomm" komutu ile hangi komutu kim,ne zaman,nerede verildiği hakkında bilgi verir.
# lastcomm
grep                   root     pts/0      0.00 secs Fri Jan 21 06:56
sh                F    root     pts/0      0.00 secs Fri Jan 21 06:56
sh                F    root     pts/0      0.00 secs Fri Jan 21 06:56
sed                    root     pts/0      0.00 secs Fri Jan 21 06:56
sh                F    root     pts/0      0.00 secs Fri Jan 21 06:56
sed                    root     pts/0      0.00 secs Fri Jan 21 06:56
sh                F    root     pts/0      0.00 secs Fri Jan 21 06:56
grep                   root     pts/0      0.00 secs Fri Jan 21 06:56
sh                F    root     pts/0      0.00 secs Fri Jan 21 06:56
sh                F    root     pts/0      0.00 secs Fri Jan 21 06:56
sed                    root     pts/0      0.00 secs Fri Jan 21 06:56
sh                F    root     pts/0      0.00 secs Fri Jan 21 06:56
sed                    root     pts/0      0.00 secs Fri Jan 21 06:56
sh                F    root     pts/0      0.00 secs Fri Jan 21 06:56
grep                   root     pts/0      0.00 secs Fri Jan 21 06:56
sh                F    root     pts/0      0.00 secs Fri Jan 21 06:56
sh                F    root     pts/0      0.00 secs Fri Jan 21 06:56
sed                    root     pts/0      0.00 secs Fri Jan 21 06:56

"lastcomm" komutu parametresiz sistem üzerinde verilen tüm komutları listeler.Eğer belli bir kullanıcının verdiği komutları görmek istersek "lastcomm" komutundan sonra "kullanıcı adı"nı yazıyoruz.

# lastcomm ares
bash                   ares pts/1      0.02 secs Fri Jan 21 03:46
clear                  ares pts/1      0.00 secs Fri Jan 21 04:43
bash              F    ares pts/1      0.00 secs Fri Jan 21 04:43
bash              F    ares pts/1      0.00 secs Fri Jan 21 04:43
bash                   ares pts/0      0.04 secs Thu Jan 20 19:39
clear                  ares pts/0      0.00 secs Fri Jan 21 04:43
ssh                    ares pts/1      0.03 secs Fri Jan 21 03:46
firefox              X ares __       1860.00 secs Thu Jan 20 16:24
plugin-containe        ares __       454.73 secs Thu Jan 20 16:24
task1                X ares __         0.35 secs Fri Jan 21 04:35
gnome-panel       F    ares __         0.00 secs Fri Jan 21 04:35
xauth            S     ares pts/0      0.00 secs Fri Jan 21 04:31
whoami                 ares pts/0      0.00 secs Fri Jan 21 04:31
uname                  ares pts/0      0.00 secs Fri Jan 21 04:31
uname                  ares pts/0      0.00 secs Fri Jan 21 04:31
  • Diğer bir komut ise "sa" . "sa" komutu ile kayıt altına komutları ve bu komutların kaç defa çalıştırıldığını gösterir.
# sa
8014       0.16re       0.00cp         0avio      4475k   mv
 5495       0.01re       0.00cp         0avio      2052k   dirname
 5484       0.78re       0.00cp         0avio      5707k   libtoolize*
 4377       0.18re       0.00cp         0avio      2071k   stty
 3621       0.02re       0.00cp         0avio      3445k   touch
 3258       0.09re       0.00cp         0avio      2326k   tr
 3214       0.14re       0.00cp         0avio      2319k   mkdir
 3055       0.01re       0.00cp         0avio      3365k   true
 2711       7.00re       0.00cp         0avio      2251k   collect2
 2687       0.13re       0.00cp         0avio      2658k   head
 2557       0.01re       0.00cp         0avio      2034k   expr
 2118       0.28re       0.00cp         0avio      2752k   sort
 1868       0.00re       0.00cp         0avio      2183k   uname
 1860       0.08re       0.00cp         0avio      5617k   autoconf-2.65*
 1610       0.09re       0.00cp         0avio     17421k   python2.6*
 1466       0.02re       0.00cp         0avio      1894k   ln
 1320       0.00re       0.00cp         0avio      3721k   chgrp
 1225       0.00re       0.00cp         0avio      5547k   shtool*

"acct" ile gelen diğer bazı komutlar ise ;

last =Sisteme en son giriş yapan kullanıcılar listeler.

dump-acct = Kayıt dosyasını okunabilir  şekilde ekrana yazdırır.

"acct" ve komutları hakkında daha fazla bilgi için man sayfalarına ve şuraya bakabilirsiniz.

Comments