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;
mode – fayla 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, a –uyğ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, o – oxuma, 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> – group və others-ə file_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_name – file_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_name – sahibi 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, chown və chmod ə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