Cards

7 üsul ilə Linuxda sistemə kimlərin login olduğunu öyrənmək

Sistem administratoru olaraq, sistemdə hər hansı bir məsələ üzərində işə başlamadan əvvəl sistemə kimlərin login olduqlarını yoxlamağınız gərəklidir. Ola bilər ki, sizdən əvvəl başqa istifadəçilər sistem faylında hansısa dəyişikliklər etmiş olsun və bu fayl işinizdə əlavə bir problemə səbəb olar. Hansısa bir məsələ üzərində işə başlamadan əvvəl heç kimin sizdən əvvəl sistemdə o mövzu üzərində çalışmadığından əmin olmağınız lazımdır. Belə problemlərlə qarşılaşmamaq üçün, sizə, sistemdə kimlərin login olduğu və nə işlər gördüyü ilə əlaqədar məlumat vermək istəyirik.
Sessiyalar barəsində məlumat öyrənməyin bir neçə üsulu vardır. Əksər sistem inzibatçısı w əmrindən istifadə edir, ancaq biz burada bir neçə alternativi və onların əlavə funksiyalarını göstərəcəyik.

 1. Elə ilk olaraq w əmrindən başlayaq.

W əmri, bizə kimlərin sistemə daxil olduğunu və nə işlər gördüyünü göstərir. /var/run/utmp/proc fayllarına nəzər yetirərək sistemdəki cari istifadəçilər və gördükləri işlər barədə məlumat verir.

W əmri çıxarışı, cari vəziyyətdə sistem fəallığı, işə başlayandan bəri keçən vaxt, neçə istifadəçi daxil olub və sistemin son 1, 5 və 15 dəqiqədəki yüklənmə vəziyyətlərini göstərən başlıqla gəlir.

W əmrinə, eyni zamanda sistemə daxil olan istifadəçi haqqında aşağıdaki məlumatları verir, tty nömrəsi, uzaqdaki komputer, istifadəçinin daxil olma vaxtı, boş keçmiş vaxt (əməliyyatsız), JCPU (tty-yə əlavə edilmiş əməliyyatlar tərəfindən istifadə edilmiş vaxt), PCPU (cari əməliyyatlar tərəfindən sərf olunmuş vaxt) və hazırda istifadəçinin hansı əmrlərdən istifadə etdiyi.

$w
 21:13:13 up  2:19,  1 user,  load average: 0.38, 0.51, 0.30
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
alliswel tty7     :0               18:56    2:19m  4:06   0.21s x-session-man

 

2. Who əmri

Who əmri də hazırda kimlərin sistemə daxil olduğunu göstərir. Ətraflı məlumat üçün /var/run/utmp və /var/log/wtmp fayllarına nəzər yetirir.

/var/run/utmp: Sistemə hazırda kimlərin daxil olduğunu göstərir.

/var/log/wtmp: utmp-nin tarixçəsini saxlayır. İstifadəçilərin sistemə daxil olma və çıxma tarixçələrini özündə saxlayır.

Who əmri, tty nömrəsi, tarix/saat və uzaq kompüter kimi istifadəçiyə aid məlumatları göstərir.

$who
alliswell tty7         2019-12-05 18:56 (:0)


3. Whoami əmri

# whoami
alliswell

id əmri, seçilmiş istifadəçiyə aid istifadəçi və qrup məlumatlarını bizə göstərir. Ancaq biz, -un funksiyasını da əlavə edərək hazırda daxil olmuş istifadəçiləri yoxlayacağıq.

# id -un
alliswell


4. Users əmri

Users əmri, hazırda komputerdə sistemə daxil olmuş istifadəçilərin istifadəçi adlarını bizə göstərir. Bu əmr də eynilə məlumat əldə etmək üçün /var/run/utmp/var/log/wtmp fayllarından istifadə edir.

# users
root


5. Last əmri

last əmri, /var/log/wtmp faylından istifadə edərək sistemə ən son daxil olmuş istifadəçiləri göstərir. Eyni zamanda sistemin yenidən başladılma məlumatlarını da verir.

Last əmri, istifadəçiyə aid tty nömrəsi, uzaq komputer, tarix, daxil olma saatı, çıxma saatı və ümumi iş vaxtı kimi məlumatları da ehtiva edir.

# last
alliswel tty7         :0               Thu Dec  5 18:56   still logged in
reboot   system boot  5.2.0-2parrot1-a Thu Dec  5 22:53   still running
alliswel tty7         :0               Wed Dec  4 19:35 - 00:15  (04:39)
reboot   system boot  5.2.0-2parrot1-a Wed Dec  4 23:34 - 00:15  (00:41)
alliswel tty7         :0               Wed Dec  4 08:14 - 08:17  (00:02)


6. Finger əmri

Finger bir alətdir, hansı ki, istifadəçilər sistem istifadəçiləri haqqında məlumatlara baxırlar (login adı, home direktoriyası, adı, sistemdə qalma vaxtları və s.).

Finger aləti, demək olar ki bütün Linux distributivləri üçün keçərlidir ancaq sistemdə default olaraq gəlməyə bilər. Paket menecerdən istifadə edərək sistemə quraşdıra bilərsiniz.

$ finger
Login      Name       Tty      Idle  Login Time   Office     Office Phone
alliswell  Enigma     tty7     2:23  Dec  5 18:56 (:0)


7. Öz metodumuz

Biz özümüz də hər hansı alətdən istifadə etmədən less, more, head, tail əmrlərindən birini istifadə edərək Linux sistemdə kimlərin sistemə daxil olduqları məlumatlarını aşağıdaki fayllardan əldə edə bilərik.

İstifadəçi autentifikasiyası məlumatları RHEL əsaslı sistemlərdə /var/log/secure, Debian əsaslı sistemlərdə isə, /var/log/auth.log faylı içərisində yerləşir.

#head -5 /var/log/auth.log
Dec  2 01:05:01 parrot CRON[15598]: pam_unix(cron:session): session opened for user root by (uid=0)
Dec  2 01:05:01 parrot CRON[15598]: pam_unix(cron:session): session closed for user root
Dec  2 01:09:01 parrot CRON[15651]: pam_unix(cron:session): session opened for user root by (uid=0)
Dec  2 01:09:01 parrot CRON[15651]: pam_unix(cron:session): session closed for user root

 

05.12.2019 21:19
alliswell

blog comments powered by Disqus