İstifadə səlahiyyətləri


Linuxda istifadə səlahiyyətlərinin bölünməsi. Oxuma. Yazma. İcra etmə
Linuxun fayl sistemində hər bir obyekt üçün istifadə səlahiyyətləri toplusu mövcuddur. Bu səlahiyyətlər istifadəçilərin bu obyektlərlə qarşılıqlı əlaqəsini təyin edir. Bu cür obyektlər – fayllar, kataloqlar və həmçinin, xüsusi fayllar (məsələn, quröuların faylları), yəni, fayl sisteminin istənilən faylı ola bilər. Linuxda hər bir obyektin sahibi olur, yəni, istifadə hüquqları faylın sahibi ilə əlaqəli şəkildə tətbiq olunur.
Linuxda 3 növ istifadə hüququ var:
1. Oxumaq icazəsi (Read):
İstifadəçinin, faylı oxumaq icazəsi varsa, faylın içindəkiləri görə bilər. Qovluğu oxumaq icazəsi varsa, onun içindəki faylların siyahısını görə bilər. Oxuma icazəsi r ilə işarə olunur.
2. Yazmaq icazəsi (Write):
İstifadəçinin, fayla yazmaq icazəsi varsa, faylı dəyişdirə və ya silə bilər. Qovluğa yazmaq icazəsi varsa, qovluqdakı bütün faylları dəyişdirə və silə bilər. Əgər istifadəçiyə faylı silmək icazəsi verilməsə belə, kataloqa silmək icazəsi olduğundan onun içindəki istənilən faylı silə bilər. Lakin, bunu da həll etmək mümükündür. Bu barədə daha sonra danışacam. Yazma icazəsi w ilə işarə olunur.
3. İstifadə icazəsi (Execute):
Fayldan istifadə etməyə və onu icra etməyə icazə verir. İstifadə icazəsi x ilə işarə olunur.

Bir fayl və ya qovluq ilk yaradıldıqda Linux tərəfindən əvvəlcədən bəzi icazələr verilir. Ümumiyyətlə, bu icazələr istifadə və oxumaq icazələridir. Qovluğun yarandığı anda verilən icazəni dəyişdirmək üçün umask əmrindən istifadə olunur.
Bir obyektin 3 icazə səviyyəsi var:
·              obyektin sahibi üçün oxuma, yazma, icra icazələri; (user)
·              qrupun sahibi üçün oxuma, yazma, icra icazələri; (group)
·              digər bütün istifadəçilər üçün oxuma, yazma, icra icazələri. (others)

Faylın sahibi həmin faylı yaradan şəxsdir. Hər istifadəçinin daxil olduğu qruplar var, buna görə də fayl yaratdıqda istifadəçi hansı qruplara daxildirsə, fayl da o qrupa aid olacaq. Faylın sahibi olmayan və qrupu da faylın qrupu olmayan istifadəçilər “digər istifadəçilər” adlanırlar.
Belə icazələri qısa şəkildə vermək olar. Qeyd edim ki, aşağıdakılar sadəcə bir misaldır və dərsin davamında ətraflı izah edəcəm.
rwxrwxrwx – hamı üçün oxuma, yazma və yerinə yetirilmə icazəsi var;
rwxr-xr-x – fayla yalnız sahibi yaza bilər, oxumaq və yerinə yetirmək isə bütün istifadəçilərə mümkündür;
rw-rw-r-- – faylın sahibi və sahibin aid olduğu qruplar fayla yaza bilər, oxumaq isə hamıya mümkündür;
Səlahiyyətlərin bu cür bölünməsi istifadəçilərə mövcud resurları rahat idarə etməyə imkan verir.

İndi isə bütün bunları ətraflı izah etmək üçün cari kataloqda ls -al əmrini verək və kataloqdakı qovluq və fayllar haqqında ətraflı məlumata baxaq. Tutaq ki, məlumat sətirlərindən biri aşağıdakı kimidir:
-rwxr-xr-x     2    leyla    users    182    2 Feb12    03:58    .. /a
Fayl haqqında məlumatın ilk sütunu faylın icazələrini göstərir. Həmin sütuna baxaq:
-rwxr-xr-x – burada gördüyünüz kimi 10 simvol var. Bu simvolları aşağıdakı şəkildə qruplaşdıraq.
-     rwx      r-x      r-x
İlk qrup, yəni, “-“ simvolu faylın tipini göstərir. Faylların tipləri barədə sizinlə danışmışdıq. Həmin dərsi oxumusunuzsa, biləcəksiniz ki, - bizim obyektin fayl olduğunu göstərir.
Gördüyünüz kimi qruplaşdırmada qalan 9 simvolu üçlüklər şəklində böldüm. Bu üçlüklərin hər birində birinci yerdə dayanan simvol oxunma icazəsini,  ikinci yazma, üçüncü isə icra etmə icazəsini bildirir. Əgər bunlardan hansının yerində “-” işarəsi olsa, deməli həmin icazə yoxdur. Bu işarəni faylın tipi işarəsi ilə qarışdırmayın.
P.S. Qeyd edim ki, bütün bu qruplaşdırmalar (10 simvolu 4 qrupa bölünməsi) izah üçündür. Başa düşəsiniz deyə.
rwx üçlüyü    faylın sahibinin;
r-x   üçlüyü    faylın sahibinin aid olduğu qrupların;
r-x üçlüyü – digər istifadəçilər, yəni, faylın sahibinin aid olmadığı qrupların icazələrini göstərir.
Bizim misalda leyla faylı yaradan, yəni faylın sahibi, users isə leyla istifadəçisinin daxil olduğu qrupun adıdır.



Səlahiyyətlərin təyin olunması. chmod, chown, chgrp əmrləri
Faylın icazələrini təyin etmək və dəyişmək üçün chmod (change mode) əmri istifadə olunur.
Bu əmrin sintaksisi aşağıdakı kimidir:
chmod <mode> <file_name>
file_name – icazələri dəyişdiriləcək faylın adıdır;
modefayla təyin edəcəyimiz icazələr. Fayla icazəni iki formada yazmaq olar^ simvolla və mütləq şəkildə.
Simvol şəklində chmod əmri aşağıdakı kimi olacaq:
             |r|
             |u|           |w|
             |g|  | + |   |x |
chmod  |o|  |  - |   |X| <file_name>
             |a|  | = |   |u |
                           |g |
                           |o |
Burada:
u, g, o, auyğun olaraq istifadəçilər, qrup, digər istifadəçilər və bütün qruplar üçün giriş səlahiyyətlərinin verilməsi;
+, -, = – uyğun olaraq icazəni əlavə etmək, silmək və quraşdırmaq;
r, w, x, X, u, g, ooxuma, yazma, icra etmə icazələri; əgər qruplar, istifadəçilər və ya digərlərində hansındasa belə icazə varsa, yerinə yetirmə icazəsi.

Misallar üzərində izah edək:
chmod -r <file_name>file_name faylından bütün istifadəçilərin oxuma icazəsini götürür;
chmod +r <file_name> – bütün istifadəçilərə file_name faylını oxuma icazəsini verir;
chmod u+x <file_name> – yalnız istifadəçiyə file_name faylını istifadə icazəsini verir;
chmod o+r <file_name> yalnız digərlərinə oxuma icazəsi verir;
chmod g-r <file_name> – faylın daxil olduğu qrup faylı dəyişdirə və silə bilməz;
chmod go-r <file_name> groupothersfile_name faylını oxumaq icazəsi verilmir;
chmod go+w <file_name> group və others-ə file_name faylını dəyişmək və silmək icazəsi verilir və s.

Mütləq rejimi istifadə etmək üçün fayla icazələri ikilik ədələrlə göstərilən 3 qrup şəklində göstərmək lazımdır. Məsələn,tutaq ki, leyla faylının ocazəsi aşağıdakı kimidir, onu mütləq şəkildə dəyişməyə cəhd edək:
rwx  r-x  r--
Bu icazə ikilik şəkildə göstərsək, aşağıdakı şəkildə olacaq:
111 101 100
İndi hər bir ikilik ədəd qrupunu 8-lik say sistemindəki ədədlərlə ifadə edək:
111 – 7, 101 – 5, 100 – 4.

chmod 755 leyla - əmrini versəm, bu o deməkdir ki, leyla faylının sahibi onu oxuya, dəyişə və ya silə, həmçinin icra edə bilər. Sahibin daxil olduğu qrup həmin faylı oxuya və icra edə bilər, lakin, dəyişə və silə bilməz. Sahibin daxil olmadığı digər qruplar, yəni, digər istifadəçilər həmin faylı oxuya və icra edə bilər, lakin, dəyişə və silə bilməz. Bu əmri verməklə, biz digər istifadəçilərə əlavə olaraq faylı icra etmək icazəsini verdik.

Tapşırıq: Yeni bir fayl yaradın. Onun icazələrinə aşağıdakıları əlavə edin:
Aşağıdakıları simvol üsulu ilə edin:
1. Sizin daxil olduğunuz qrup həmin faylı dəyişə və silə bilsin;
2. Digər istifadəçilər həmin faylı dayişə və silə bilsin;
Aşağıdakıları mütləq üsulla edin:
3. Sizin daxil olduğunuz qrup həmin faylı icra edə bilməsin;
4. Digər istifadəçilər həmin faylı icra edə bilməsin;

chown (change owner) əmri faylın sahibini dəyişməyə imkan verir. Bu əmri istifadə etmək üçün ya root istifadəçisi olmaq, ya da faylın sahibi olmaq lazımdır. Əmrin sintaksisi sadədir:
chown <user_name>:<group_name>  <file_name>
Burada:
user_name - file_name faylının yeni sahibi olaca istifadəçinin adıdır;
group_namefile_name faylının yeni sahibi olacaq qrupun adıdır. Sintaksisdə group_name qeyd olunmaya bilər. Bu zaman faylın yalnız sahibi dəyişəcək;
file_namesahibi dəyişdiriləcək faylın adıdır.

chgrp (change group) əmri faylın sahibi olan qrupu dəyişməyə imkan verir. Onun sintaksisi aşağıdakı kimidir:
chgrp <group_name>  <file_name>
Burada:
group_name   faylın mənsub olacağı qrupun adı;
file_name   dəyişdiriləcək faylın adı.

Yadda saxlayın ki, chownchmod əmrlərini yalnız faylın sahibi və suöeristifadəçi verə bilər; chgrp əmrini isə faylın sahibi olan istifadəçi, qrup və root istifadəçisi verə bilər.



Sticky bit
Fayllara və kataloqlara təyin olunan daha bir neçə xüsusi icazələr var. Onlardan bəzilərinə biz proseslər dərsində baxacağıq. Lakin, birini burda izah edəcəm. Bu - sticky bit (“yapışqanlı bit”) adlanır. UNIX-in ilk versiyalarında bu bit, proqram yerinə yetirilərkən onun kodunun surətini yaddaşda saxlamaq üçün sistem yaratmaq məqsədilə istifadə olunurdu. Belə ki, proqrama növbəti müraciət zamanı o işə salındıqda daha az zaman sərf olunurdu. Yəni, qurğudan kodun oxunması artıq tələb olunmurdu.
Linuxda fayllar üçün sticky bit anlayışı bugün də əvvəlki anlamını saxlamışdır. Lakin, kataloqlar üçün bu atribut yeni məna kəsb edir. Əgər, sticky bit kataloqa təyin olunubsa, onda bu cür kataloqdan faylları yalnız faylın sahibi olan istifadəçi silə bilər, lakin, onun fayla yazma icazəsi varsa.
Sahib-qrup və digər istifadəçilərin həmin fayla yazmaq icazəsi olsa belə, sticky bit icazəsi qoyulmuş kataloqdan heç bir faylı silə bilməzlər.
Sticky bit icazəsi chmod əmri vasitəsilə simvol şəklində qoyulur.
chmod +t <file_name>

No comments:

Post a Comment