Chapter 7
CONTROLLING ACCESS TO FILES
Linuxda səlahiyyətlər istifadəçi,qrup və digərləri üçün verilir.
Ən son tətbiq olunan (yəni ən güclü) səlahiyyət istifadəçiyə verilmiş səlahiyyətdir. Səlahiyyətlərin icra olunması prioriteti aşağıdakı sırayladır:
İstifadəçi
Qrup
Digərləri
r (read 4)
faylın açılmasını və oxunması səlahiyyətlərini verir
qovluğun içindəki faylların siyahısının göstərilə bilməsini mümkün edir
w (write 2)
faylın dəyişdirilməsi və silinməsi səlahiyyətlərini, həmçinin faylın içinin dəyişdirilməsi səlahiyyətini verir
qovluğun içində yeni faylın yaradılması və digər faylların silinməsi səlahiyyətlərini verir.
x (execute 1)
faylın execute olunması səlahiyyətini verir
qovluğun açılması səlahiyyətini verir.
Əgər əgər qovluqda r
and w
permissionları olsa belə x
olmadığı üçün istifadəçi qovluğu aça bilmir.
Hərflər rəqəmlərə necə çevilirlər:
Xüsusi səlahiyyətlər
u+s (suid)
File executes as the user that owns the file, not the user that ran the file.
No effect.
g+s (sgid)
File executes as the group that owns the file.
Files newly created in the directory have their group owner set to match the group owner of the directory.
o+t (sticky)
No effect.
Users with write access to the directory can only remove files that they own; they cannot remove or force saves to files owned by other users.
Əgər faylın sahibində execute səlahiyyəti olmasa, bu halda xüsusi səlahiyyət böyük hərflə yazılır (S,T).
Yuxarıdakı şəkildə böyük S və T hərfləri erroru bildirir, şəkildən də göründüyü kimi, böyük S və T hərfləri olan yerdə müvafiq olaraq execute səlahiyyəti verilməmişdir. S və T hərflərinin böyük yazılmasının səbəbi elə məhz budur.
chmod
Who is u, g, o, a (for user, group, other, all)
What is +, -, = (for add, remove, set exactly)
Which is r, w, x, s, s, t (for read (4), write (2), execute(1), suid (4), sgid (2), sticky(1))
When used with the chmod
command, the X
option grants execute (x
) permissions only to directories and to files that already have the execute permission set for some user.
chown
Aşağıdakı komandaların hamısı düzgün yazılıb:
İstifadəçi adında nöqtə işarəsi ola bilmə ehtimalı olduğu üçün, bucür işlətmək yanlışdır:
umask
Əslində default olaraq, linux əsaslı əməliyyat sistemlərində yeni bir qovluq yaratdıqda 0777
permissionla yaranır. Fayllar üçün isə bu permission 0666
-ya bərabərdir.
Umask deyilən bir dəyər var ki, yuxarıda dediyim ədədlərdən çıxılıb qovluq və faylların permissionları ona əsasən təyin olunur. Default olaraq linux əsaslı əməliyyat sistemlərində umask dəyəri 0022
-dir.
Qovluqlar üçün hesablama qaydası:
Fayllar üçün hesablanma qaydası:
Buradan anlaşılır ki, nəyə görə linux əsaslı əməliyyat sistemlərində qovluq yaratdıqda onun permissionu default olaraq0755, faylın permissionu isə
0644
təyin olunur. Məsələn:
Default olaraq, UID-niz 200-dən aşağıdırsa umaskınız 022 olur, UİD-niz 200-dən yuxarıdırsa umaskınız 002 olur.
İstifadəçilərin default umask dəyərini dəyişmək üçün belə bir skripti qovluğuna atmaq lazımdır:
Last updated
Was this helpful?