Права на файлове

На който и да е сървър, използващ Linux за операционна система, абсолютно всеки файл или директория имат определени права, асоциирани с тях. Тези права обозначават кой потребител какви правомощия има над дадения файл или папка. Тази концепция е твърде различна от принципите на файловата система, които използва операционната система Windows. Базовите знания за файловите права са полезни за собствениците на уеб сайтове, когато те трябва да се справят с разнообразни проблеми, свързани с управлението и поддръжката на техните уеб сайтове.

За да илюстрираме по-добре какво представляват файловите права, ще вземем един току що качен от нас файл чрез FTP, намиращ се в нашия акаунт. Този файл ще бъде собственост на потребителя, който го е качил и съответно само този потребител ще има определени права да го модифицира( с изключение на главния root акаунт). Атрибутите за собственост се означават с маркери за "собственик", "група" и "други", към които принадлежи този файл. При една нормална ситуация обикновено собственика и неговата група(потребителя, който е качил този файл) има правото да редактира този файл, докато потребители от групата "други" имат доста ограничени права.

В допълнение към потребителските атрибути, всяка Linux/UNIX базирана OS поддържа и други видове атрибути - такива за четене, писане и изпълнение.  Действията на тези атрибути са следните:

 

  • read (четене) - Ако този атрибут е наличен, потребителят принадлежащ към определена група може да преглежда неговото съдържание
  • write (писане) - При наличие на този атрибут, потребителя може да пише върху този файл.
  • execute (изпълнение) - Този атрибут се използва от скриптове и определен софтуер. Ако той е наличен, файлът може да се изпълнява и стартира.
Всички от горните атрибути - собственик, група, други, права за четене, писане и изпълнение са присъщи за всеки един файл от Linux/UNIX файловата система. За пример можем да дадем следния файл, по начина, по който той придобива неговите атрибути:
-rw-r--r--  1 jumpbg jumpbg 2.4K Jul 23  2010 sometext.txt
В горния пример виждаме, файловите атрибути за четене, писане и изпълнение в началото. Всеки от тези атрибути е разделен на 3 отделни подгрупи, всяка една има отделни права за "четене", "писане" и "изпълнение" по отделно за "собственика", "групата" и "други". Можете много ясно да видите файловите атрибути и тяхното приложение и значение в долната таблица:
d r w x r w x r w x
Owner Group Other

Directory

Read

4

Write

2

Execute

1

Read

4

Write

2

Execute

1

Read

4

Write

2

Execute

 1

 

Важно е да споменем, че във всеки FTP клиент, горните права се означават по различен начин. Несъмнено ни се е случвало да видим термина  chmod 755. Chmod всъщност представлява командата в Linux, за промяна на атрибутите за четене, писане и изпълнение. Цифрата "755", използвана в горния са конкретните права на собственика, групата и други за писане четене и изпълнение над горния файл. Освен със символите r, w и x, правата на един файл могат да се означават с цифри. Цифрените еквиваленти са следните:

 

r (четене)- 4

w (писане) - 2

x  (изпълнение) - 1

 

Ако има няколко права за една група от атрибути ( например за групата на "собственика"), то тези цифри се сборуват. Например "chmod 755" означава, че файлът има следните права:

4 (четене) + 2 (писане) + 1 (изпълнение) = 7

4 (четене) + 1 (изпълнение) = 5

4 (четене) + 1 (изпълнение) = 5

 

Съответно цифрата 7 се отнася за "собственика", 5 за "групата" и 5 за "други". Този типичен пример може да се види във следното изображение за права над файла "index.php" в FTP програмата FileZilla:

 

 

 

 Всички правата за който и да е файл важат и могат да се налага за всички директории.  С определени права, Вие можете да ограничавате това кой файл може да бъде четен (видян), променян и дали има право да се изпълнява ( ако представлява скрипт например). Това Ви предоставя огромен контрол над сигурността на Вашия уеб сайт и хостинг акаунт. 

5.00 avg. rating (99% score) - 247 votes
  • Necrosis

    Полезна статия. 🙂