CodeGym /Kurslar /Docker SELF /Mövcud giriş hüquqlarının yoxlanılması: `whoami`, `id` ko...

Mövcud giriş hüquqlarının yoxlanılması: `whoami`, `id` komandaları

Docker SELF
Səviyyə , Dərs
Mövcuddur

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?

  1. UID (User ID) — istifadəçinin unikal identifikatoru.
  2. GID (Group ID) — istifadəçinin əsas qrupunun unikal identifikatoru.
  3. 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ə root istifadəç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, sudo qrupu 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ı

  1. Terminalı açın.
  2. Bu komandadan istifadə edin:

    whoami
    

    İstifadəçi adınızı yoxlayın.

  3. sudo su komandasını çalışdırın (sizdən parol tələb olunacaq), sonra yenidən whoami komandası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

  1. Bu komandadan istifadə edin:

    id
    
    İstifadəçinizin UID, GID-nin nə olduğunu və hansı qruplara aid olduğunu yoxlayın.
  2. Yeni istifadəçi yaradın (əgər sizin sudo komandasına girişiniz varsa):

    sudo adduser testuser
    

    Sonra bu komandanı işlədin:

    id testuser
    

Qruplara aidiyyatın təhlili

  1. Bu komandadan istifadə edin:

    groups
    

    İstifadəçinizin hansı qruplara aid olduğuna diqqət edin.

  2. 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

  1. Çox vaxt yenilər whoamiid komandalarını qarışdırır. Yadda saxlayın: whoami yalnız cari istifadəçi adını göstərir, amma id hüquqlar və qruplar haqqında daha detallı məlumat verir.

  2. Əgər admin hüquqlarınız (yəni sudo giriş) 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.

  3. Əgər id komandası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. whoamiid 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.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION