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:

  1. İstifadəçi

  2. Qrup

  3. Digərləri

Səlahiyyət
Fayl üçün
Qovluq üçün

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:

+─────────────+───────────────────────+──────────────+────────+─────────+─────────+
| icazələr    | faylın tipi           | user         | group  | others  | nəticə  |
+─────────────+───────────────────────+──────────────+────────+─────────+─────────+
| -rw-r--r--  | - (adi fayl)          | rw (4+2)     | r (4)  | r (4)   | 644     |
| drwxr-xr-x  | d (directory/qovluq)  | rwx (4+2+1)  | rx (5) | rx (5)  | 755     |
+─────────────+───────────────────────+──────────────+────────+─────────+─────────+

Xüsusi səlahiyyətlər

Xüsusi icazələr
Fayl üçün
Qovluq üçün

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

(Şəkil 3. adlarına uyğun permission verilmiş faylların hərfli permissionları)

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?