1. Mən sistemdə kiməm? whoami komandası
Hər bir Linux istifadəçisi müəyyən bir hesabla işləyir və bu hesabın öz hüquqları, məhdudiyyətləri və qruplara aidiyyəti var. Bu mühazirədə siz hansı hesabla işlədiyinizi, hüquqlarınızı və hansı qruplara daxil olduğunuzu yoxlamağı öyrənəcəksiniz. İstifadəçinin cari parametrləri haqqında məlumat həm gündəlik işdə, həm də təhlükəsizlik, inzibatçılıq və debugging məsələlərində vacibdir.
Linux sistemində işləyərkən hansı hesabla fəaliyyətdə olduğunuzu bilmək faydalıdır. Məsələn, əgər siz təsadüfən sistemə imtiyazlı (root) istifadəçi ilə daxil olmusunuzsa, sistem fayllarında düzəldilməsi mümkün olmayan dəyişikliklər edə bilərsiniz. Belə hallardan qaçmaq üçün whoami komandası mövcuddur.
Sintaksis
whoami
Komanda nə edir?
whoami komandası sistemdə hansı istifadəçi adı ilə işlədiyinizi göstərir. Bu komanda ən vacib suala cavab verir: "Mən kiməm?"
Nümunə
$ whoami
student
Bu halda student çıxışı göstərir ki, siz student adlı istifadəçi olaraq sistemə daxil olmusunuz. Əgər siz artırılmış hüquqlu istifadəçi (məsələn, root) kimi işləsəydiniz, çıxış belə olardı:
$ whoami
root
Niyə bu vacibdir?
Təsəvvür edin ki, siz bir qovluqdakı bütün faylları silmək üçün komanda işləyirsiniz (məsələn, rm -rf /important_directory). Adi istifadəçi olaraq sistem hüququnuz olmadığı halda sizi məhdudlaşdıra bilər. Amma root istifadəçi kimi işləsəniz, sistem komandanızı tərəddüd etmədən icra edəcək. whoami komandası belə xoşagəlməz vəziyyətlərin qarşısını almağa kömək edir.
2. İstifadəçi haqqında ətraflı məlumatın öyrənilməsi: id komandası
İstifadəçi adınızı bilmək yaxşıdır, amma sistemdəki hüquqlarınızı və imtiyazlarınızı dərindən anlamaq üçün bu kifayət deyil. Daha ətraflı məlumat üçün id komandası mövcuddur.
Sintaksis
id [istifadəçi]
Əgər istifadəçi adı göstərilmirsə, id komandası mövcud istifadəçi haqqında məlumat göstərəcək. Başqa bir istifadəçi adını göstərsəniz, onun hesab detalları ilə tanış ola bilərsiniz.
id komandası nəyi göstərir?
- UID (User ID) — istifadəçinin unikal identifikatoru.
- GID (Group ID) — istifadəçinin əsas qrupunun unikal identifikatoru.
- Qrupların siyahısı — istifadəçinin aid olduğu bütün qruplar (əsas qrupu da daxil olmaqla).
Nümunə
$ id
uid=1001(student) gid=1001(student) qruplar=1001(student),27(sudo),1002(developers)
- UID=1001: Bu mövcud istifadəçinin (student) unikal identifikatorudur. Linux sistemlərində
rootistifadəçisinin UID həmişə 0-a bərabərdir. - GID=1001: Bu istifadəçinin (student) əsas qrupunun identifikatorudur.
- Qruplar=1001(student), 27(sudo), 1002(developers): Burada istifadəçinin daxil olduğu əlavə qruplar sadalanır. Məsələn,
sudoqrupu studenta imtiyazlı istifadəçi adından komandalar yerinə yetirmək imkanı verir.
Başqa bir istifadəçi üçün komanda işlətdiyimizdə:
$ id user2
uid=1002(user2) gid=1002(user2) qruplar=1002(user2),1001(developers)
Görünür ki, user2 istifadəçisi developers qrupuna aiddir.
3. Real işdə UID və GID-dən istifadə
Hər bir istifadəçiyə və qrupa öz rəqəm identifikatorları (uyğun olaraq UID və GID) təyin olunur. Onlar sistem daxilində çox vacib rol oynayır, çox vaxt istifadəçi və qrup adlarını əvəz edir. Bu nəyə lazımdır?
- Bəzi sistem prosesləri effektivlik üçün rəqəm identifikatorları ilə birbaşa işləyir.
- Fayl və qovluqlara giriş hüquqları istifadəçi və qrup adları ilə deyil, UID və GID ilə təyin olunur.
- Konfiqurasiya fayllarında və jurnallarda (məsələn,
/etc/passwd) istifadəçi adlarını deyil, onların UID-lərini görə bilərsiniz.
4. groups ilə qrupları araşdırırıq
Bundan əlavə, cari istifadəçinin hansı qruplara aid olduğunu öyrənmək üçün groups komandasından istifadə edə bilərsiniz.
Sintaksis
groups [istifadəçi]
İstifadəçi adını göstərmədən cari hesab üçün qrupların siyahısını əldə edəcəksiniz. İstifadəçi adını daxil edərək təyin olunmuş istifadəçinin qruplarını öyrənə bilərsiniz.
Nümunə:
$ groups
student developers sudo
$ groups user2
user2 developers
5. Komandalarla iş
İndi isə əldə etdiyiniz bilikləri möhkəmləndirmək üçün bir az praktika edək.
Cari istifadəçi hesabının yoxlanılması
- Terminalı açın.
Bu komandadan istifadə edin:
whoamiİstifadəçi adınızı yoxlayın.
sudo sukomandasını çalışdırın (sizdən parol tələb olunacaq), sonra yenidənwhoamikomandasını işlədərək kimin adından işlədiyinizi görün.
İstifadəçi haqqında məlumatın öyrənilməsi
Bu komandadan istifadə edin:
İstifadəçinizin UID, GID-nin nə olduğunu və hansı qruplara aid olduğunu yoxlayın.idYeni istifadəçi yaradın (əgər sizin
sudokomandasına girişiniz varsa):sudo adduser testuserSonra bu komandanı işlədin:
id testuser
Qruplara aidiyyatın təhlili
Bu komandadan istifadə edin:
groupsİstifadəçinizin hansı qruplara aid olduğuna diqqət edin.
Cari istifadəçini yeni qrupa əlavə edin:
sudo groupadd testgroup sudo usermod -aG testgroup $(whoami)Nəticəni yoxlayın:
groups
6. Tipik səhvlər və çətin məqamlar
Çox vaxt yenilər
whoamivəidkomandalarını qarışdırır. Yadda saxlayın:whoamiyalnız cari istifadəçi adını göstərir, ammaidhüquqlar və qruplar haqqında daha detallı məlumat verir.Əgər admin hüquqlarınız (yəni
sudogiriş) yoxdursa, siz istifadəçiləri qruplara əlavə edə və ya onların parametrlərini dəyişə bilməzsiniz. Belə hallarda sistem administratoruna müraciət etməlisiniz.Əgər
idkomandasını mövcud olmayan bir istifadəçi ilə işlətsəniz, səhv mesajı alacaqsınız:$ id nonexistinguser id: ‘nonexistinguser’: istifadəçi tapılmadı
İndi siz bilirsiniz ki, hansı istifadəçinin aktiv olduğunu, hansı hüquqlar və girişlərlə işlədiyini necə yoxlamaq olar. whoami və id komandaları sadə görünə bilər, amma Linux-da istifadəçi sistemi və giriş hüquqlarının başa düşülməsi üçün əsas rola sahibdirlər. Real işdə siz bu komandaları tez-tez problemləri aşkarlamaq, hüquqları yoxlamaq və istifadəçiləri tənzimləmək üçün istifadə edəcəksiniz.
GO TO FULL VERSION