მოგესალმებით, დღეს მინდა გესაუბროთ unix-ის მსგავს ოპერაციულ სისტემებში არსებულ chmod ბრძანებაზე.
chmod ბრძანება გამოიყენება ფაილებისა და დირექტორიების წვდომის ნებართვების შესაცვლელად.
უკეთ რომ გავიგოთ მისი დანიშნულება განვმარტოთ Linux-ის ნებართვების ძირითადი მოდელი. Linux-ში თითოეული ფაილი ასოცირდება მფლობელთან, ჯგუფთან და სხვა დანარჩენთან.
წვდომის უფლებების სამი განსხვავებული კლასი არსებობს.
- Owener (ფაილის მფლობელი).
- Group (ჯგუფის წევრები).
- Other (სხვები, ყველა სხვა).
ფაილის მფლობელების შეცვლა შესაძლებელია chown და chgrp ბრძანებების გამოყენებით.
არსებობს ფაილის ნებართვების სამი ტიპი:
- Read (წაკითხვა)
- Write (ჩაწერა)
- execute (გაშვება)
ფაილებსა და დირექტორიებზე წვდომის უფლების შესამოწმებლად გამოიყენება ბრძანება ls -l .
მაგალითად:
პირველი სიმბოლო, აჩვენებს ფაილის ტიპს. ეს შეიძლება იყოს ჩვეულებრივი ფაილი, დირექტორია ან სიმბოლური ბმული.
( – ) ფაილი
( d ) დირექტორია
( l ) სიმბოლური ბმული
შემდეგი ცხრა სიმბოლო იძლევა ფაილებზე წვდომის უფლებებს.
როგორც უკვე ავღნიშნე სიმბოლოები იყოფა სამ სხვადასხვა კატეგორიად.
ნებართვების გავლენა ფაილებზე:
წვდომა | ტიპი | განმარტება |
წაკითხვა | – | ფაილი არ იკითხება. ფაილის შიგთავსის წაკითხვა შეუძლებელია. |
r | ფაილი იკითხება. | |
ჩაწერა | – | ფაილის გადაწერა და შიგთავსის ჩასწორება შეუძელებელია. |
w | ფაილის გადაწერა და შიგთავსის ჩასწორება შესაძლებელია. | |
გაშვება | – | ფაილის გაშვება შეუძლებელია. |
x | ფაილის გაშვება შესაძლებელია |
ნებართვების გავლენა დირექტორიებზე (საქაღალდეები)
წვდომა | ტიპი | განმარტება |
წაკითხვა | – | დირექტორია არ იკითხება. დირექტორიის შიგთავსის წაკითხვა შეუძლებელია. |
r | დირექტორიის შიგთავსის წაკითხვა. | |
ჩაწერა | – | დირექტორიაში ჩაწერა, ფაილების და დირექტორიების შექმნა შეუძლებელია. |
w | დირექტორიაში ჩაწერა, ფაილების შექმნა შესაძლებელია. | |
გაშვება | – | დირექტორიაში ნავიგაცია შეუძლებელია. |
x | დირექტორიაში ნავიგაცია შესაძელებელია. |
Linux-ში Directories არის სპეციალური ტიპის ფაილები, რომლებიც შეიცავს სხვა ფაილებსა და დირექტორიებს.
მხოლოდ root, ფაილის მფლობელს ან sudo პრივილეგიების მქონე მომხმარებელს შეუძლია შეცვალოს ფაილის ნებართვები.
ყურადღება!
გამოიჩინეთ სიფრთხილე chmod ბრძანების გამოყენებით ნებართვების რეკურსიული შეცვლისას.
არსებობს chmod ბრძანების უფლებების მინიჭების ჩაწერის სამი მეთოდი:
- რიცხვითი
- სიმბოლური
- ბინარული / ორობითი.
ჩვენ გავეცნობით ორ მათგანს.
სიმბოლური მეთოდი:
chmod ბრძანების სინტაქსს სიმბოლური რეჟიმის გამოყენებისას აქვს შემდეგი ფორმატი:
chmod [OPTIONS] [ugoa…][-+=]perms…[,…] FILE…
მიეცით ჯგუფის წევრებს უფლება წაიკითხონ ფაილი, მაგრამ არ ჩაწერონ და შეასრულონ იგი:
chmod g=r filename
წაუშალეთ გაშვების უფლება ყველა კლასს .
chmod a-x filename
რეკურსიულად (მოგერიებით), ჩამოართვით წერის ნებართვა სხვა მომხმარებლებისთვის:
chmod -R o-w dirname
წაუშალეთ წაკითხვის, ჩაწერისა და შესრულების ნებართვა ყველა მომხმარებელს, გარდა ფაილის მფლობელისა:
chmod og-rwx filename
იგივე რამ შეიძლება განხორციელდეს შემდეგი ფორმის გამოყენებით:
chmod og= filename
მიეცით წაკითხვის, ჩაწერისა და შესრულების ნებართვა ფაილის მფლობელს, წაიკითხეთ ნებართვები ფაილის ჯგუფისთვის და ჩამოართვით ნებართვები სხვა დანარჩენ მომხმარებლებს:
chmod u=rwx,g=r,o= filename
ფაილის მფლობელის ნებართვების დამატება, ფაილის ჯგუფის წევრების ნებართვებზე:
chmod g+u filename
რიცხვითი მეთოდი
მაგალითი:
chmod 755 /var/www/html
ან
chmod -R 755 /var/www/html