Программирование сайтов
16 Окт в 22:11

Права доступа в Linux (permissions)

У файлов и папок есть три вида владения, а у владельца есть три вида прав.

Виды владений Виды прав
  1. User – пользователь
  2. Group – группа
  3. Other – прочие
  1. Read – чтение
  2. Write – запись
  3. Execute – выполнение

Примеры: 

Владение правами записи на папку, позволяет создавать, удалять и переименовывать файлы в ней. Возможность изменять содержимое файлов зависит от наличия прав записи на файлы.

Если есть право записи на файл, но нет прав записи на папку файла, можно менять содержимое файла но нельзя удалить или переименовать файл.

Обозначение

Права

Обозначение Право на
r чтение
w запись
x выполнение

Владельцы

Обозначение Владелец
u Пользователь
g Группа
o Прочие
a Все

Действия

Обозначение Действие
+ Добавить право
Удалить право
= Установить право

Чтобы увидеть права и владельцев файла или папки, можно набрать в терминале ls -l. Пример:

[php]

$ ls -l
-rw-r–r– 1 root root 11321 Oct 15 22:22 index.html

[/php]

Понимать это следует так:

rw- r– r– root root index.html

Флаг
“-” файл

“d” папка

Права пользователя владеющего файлом|папкой Права группы владеющей файлом|папкой Права не владеющих файлом|папкой Пользователь владеющий файлом|папкой Группа владеющая файлом|папкой

Название файла|папки

Например, информация о папке со всеми правами всех владельцев будет выведена так:

drwxrwxrwx

Аналогично, для файла:

-rwxrwxrwx

Цифровое обозначение

Можно комбинацию прав одного типа владения заменить цифрой. Вот так цифры соответствуют правам:

Установка прав

[code]$ chmod 644 test.txt[/code]

или

[code]$ chmod u = rw test.txt[/code]

или

[code]$ chmod g + r test.txt[/code]

или

[code]$ chmod go – w test.txt[/code]

Установить пользователя и группу:

[code]$ chown admin:amdin test.txt[/code]

Установить пользователя:

[code]$ chown admin test.txt[/code]

Установить группу:

[code]$ chgrp admin test.txt[/code]

Установить для папки и ее содержимого (рекурсивно):

[code]$ chown -R admin:admin test[/code]