Aktiv istifadəçilərin və girişlərin monitorinqi: who
, w
, last
komandaları
1. İstifadəçiləri monitorinq etmək niyə vacibdir?
Linux, digər serverlər kimi (ya da sadəcə “vəhşi” sayt qutusu), eyni anda bir çox istifadəçiyə işləmək imkanı verir. Amma əgər serverinizə kimsə daxil olursa? Və ya gecə hansısa yaramaz həmkar “yanlışlıqla” mühüm faylları silmək qərarına gəlirsə? İstifadəçi aktivliyinin monitorinqi bizə kim, nə vaxt və haradan sistemə daxil olduğunu, həmçinin onların hansı prosesləri həyata keçirdiyini anlamağa kömək edir. Bu, server üçün videokamera kimidir.
Monitorinq üçün əsas alətlər
Serverdə istifadəçi aktivliyini başa düşmək üçün Linux-da üç əsas komanda mövcuddur:
who
— hazırda sistemdə işləyən istifadəçiləri göstərir.w
— bir az daha çox informasiya verir: istifadəçilərin nə etdiyini və sistem yüklənməsini.last
— sistemə girişlərin tarixçəsini təqdim edir.
Bu komandaların hər biri öz incəliklərinə malikdir və müxtəlif hallarda tətbiq edilir. Gəlin onları nümunələrlə aydınlaşdıraq.
2. who
komandası
who
komandası hazırda sistemə daxil olan istifadəçilərin siyahısını göstərir. Bu, sanki "qeydiyyat kitabçası" kimidir ki, siz ora baxıb serverdə hazırda kimlər olduğunu görə bilərsiniz.
who
Komandanın nümunə nəticəsi:
user1 pts/0 2023-10-20 09:10 (192.168.1.100)
root pts/1 2023-10-20 09:15 (192.168.1.101)
Burada nə görürük:
- İstifadəçi adları
user1
,root
. - Onların qoşulduğu terminal
pts/0
,pts/1
. - Daxilolma vaxtı
2023-10-20 09:10
. - Haradan qoşulublar
192.168.1.100
.
who
komandası üçün açarlar:
who -a
: Sistem məlumatlarını da göstərir, məsələn, yükləmə vaxtı, işləyən proseslər və istifadəçilər.who am i
: Yalnız komandanı işə salan istifadəçi haqqında məlumat göstərir.
3. w
komandası
Əgər who
sadəcə olaraq kim daxil olduğunu göstərirsə, w
daha çox məlumat verir - hansı ki, istifadəçinin hazırda nə ilə məşğul olduğunu izah edir. Bu, onun faydalı bir işlə məşğul olub-olmadığını və ya dərhal dayandırılması lazım olan bir şey etdiyini başa düşmək üçün faydalıdır.
w
Çıxış nümunəsi:
10:20:42 up 1 day, 5:12, 2 users, load average: 0.00, 0.01, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user1 pts/0 192.168.1.100 09:10 1:00 0.01s 0.01s nano app.py
root pts/1 192.168.1.101 09:15 2:00 0.02s 0.02s htop
Burada nə baş verir:
- Yuxarı sətir sistem haqqında məlumat verir: cari vaxt, serverin işləmə müddəti, istifadəçilərin sayı və sistemin yüklənmə göstəricisi
load average
. - Cədvəl göstərir:
- İstifadəçinin adı
user1
,root
. - İstifadəçinin qoşulduğu mühit
pts/0
,pts/1
. - İstifadəçinin IP-adresi
192.168.1.100
. - Sistemə giriş vaxtı
09:10
. - Boş vaxt
IDLE
. - İstifadəçinin hazırkı fəaliyyəti
WHAT
, məsələn,nano
iləapp.py
faylını redaktə edir.
- İstifadəçinin adı
w
üçün açarlar:
w -h
: Cədvəlin başlıqlarını silir.w username
: Yalnız müəyyən istifadəçi haqqında məlumat göstərir.
4. last
komandası
Əgər who
və w
indiki vəziyyəti göstərirsə, last
keçmişə nəzər salmağa imkan verir. Bu komanda sistemə olan bütün girişlərin tarixçəsini göstərir. /var/log/wtmp
faylını oxuyur, harada ki, bütün istifadəçi girişləri qeyd olunur.
last
Nümunə çıxışı:
user1 pts/0 192.168.1.100 Fri Oct 20 09:10 - 09:30 (00:20)
root pts/1 192.168.1.101 Fri Oct 20 09:15 - down (00:15)
Burada nəyi görürük:
- İstifadəçi adı
user1
,root
. - Terminal
pts/0
,pts/1
. - IP-adres və ya host adı
192.168.1.100
,192.168.1.101
. - Giriş vaxtı
Fri Oct 20 09:10
. - Çıxış vaxtı
09:30
və ümumi sessiya vaxtı00:20
.
last
üçün açarlar:
last -n 10
: Yalnız sonuncu 10 qeydi göstərir.last username
: Konkret istifadəçinin giriş tarixi.last reboot
: Serverin nə vaxt işə düşdüyünü göstərir.
5. Praktik nümunə: istifadəçi aktivliyinin analizi
Gəlin təsəvvür edək ki, gecə serverdə kimin işlədiyini bilmək istəyirsiniz ki, hansısa şübhəli bir şey olub-olmadığını anlaya biləsiniz. Əvvəlcə cari istifadəçilərə baxaq:
who
İndi onların nə işlə məşğul olduğuna baxaq:
w
Əgər qəribə bir şey tapsanız (məsələn, naməlum bir proses), gecə kimlərin giriş etdiyini yoxlamaq üçün istifadə edək:
last
Dikkətinizi çəkən konkret bir istifadəçinin qeydlərinə baxaq:
last user1
Əgər hansısa anomaliya görsəniz, məsələn, tanımadığınız bir IP-dən giriş, tədbir alınmalıdır: girişi məhdudlaşdırmaq, iki faktorlu autentifikasiyanı quraşdırmaq və ya istifadəçini bloklamaq.
6. Xüsusiyyətlər və tipik səhvlər
Monitorinq komandaları ilə işləyərkən aşağıdakıları unutmayın:
Log faylı silinə bilər. Əgər kim isə qəsdən
/var/log/wtmp
faylındakı yazıları silibsə,last
komandası heç nə göstərməyəcək. Bu, log fayllarının müntəzəm olaraq ehtiyat nüsxələrini çıxarmağın və ya onları uzaq serverə göndərməyin nə qədər vacib olduğunu göstərir.Çıxışın daha asan başa düşülməsi. Bəzən komandaların çıxışı çox yüklənmiş ola bilər (məsələn, çoxlu istifadəçi varsa). Lazımi məlumatı tapmaq üçün
grep
kimi filtrlərdən istifadə edin:last | grep user1
Sistemin tənzimləmələrindən asılılıq. Bəzi sistemlər, əgər tənzimləmələrdən dolayı bu bağlanıbsa, girişlərin loglarını aparmaya bilər. Əmin olun ki,
/var/log/wtmp
müntəzəm olaraq yenilənir.
Bu biliklər praktikada necə tətbiq olunur?
- Serverlərin idarə edilməsi. Məsələn, siz bir şirkətin administratorusunuz və sistemin təhlükəsizliyini izləməlisiniz ki, heç kim təsadüfən ya da qəsdən “hər şeyi məhv etməsin”.
- Təhlükələrin aşkarlanması. Monitorinq alətləri icazəsiz giriş cəhdlərini aşkar etməyə kömək edəcək.
- Sistemin auditi. Təhlükəsizlik standartlarına uyğunluq üçün serverləri yoxlayarkən, bu komandalar istifadəçilərin aktivliyini analiz etmək üçün tez-tez istifadə olunur.
- Diaqnostika. Serverin yavaşladığını hiss etdiniz? Baxın, orada kim nə edir!
İndi siz sisteminizi monitorinq edə bilirsiniz, necə ki, bir şef! Unutmayın, sisteminizin qorunması onun nə etdiyi barədə anlayışınızdan başlayır.
GO TO FULL VERSION