Права доступа к файлам в Linux
В этой статье мы поговорим об обозначении прав доступа к файлам в Unix подобных системах и на простых примерах разберем, что же обознают цифры 777, 755, 644 и т.д., а также символы drwxrwxrwx.
Права доступа могут быть представлены как в буквенном, так и цифровом виде, то есть к примеру
запись «777» является полностью идентична записи «drwxrwxrwx» или «-rwxrwxrwx».
Существует 3 вида прав доступа:
- чтение — обозначается как r (read),
- запись — обозначается как w (write),
- выполнение — обозначается как x (execute).
И 3 типа пользователей, которым эти права раздаются:
- Владелец файла или директории
- Группа пользователей, которой принадлежит владелец
- Все остальные
Рассмотрим символьное представление прав доступа.
к примеру «drwxrwxrwx» (полный доступ всем) можно поделить на 4 секции: d rwx rwx rwx
1 секция можеть быть либо «d»- директория, либо «-» — файл.
2 секция показывает права доступа владельца файла или директории.
r-чтение, w-запись, x- выполнение.
3 секция показывает права доступа группы в которой находится владелец, rwx — аналогично
4 секция показывает права доступа все остальных пользователей системы.
Расшифруем несколько примеров для закрепления:
Допустим мы имеем директорию test, ниже представлен ее вывод
gt# ls -la
total 6
drwxr-xr-x 3 igor users 512 May 16 11:06 .
drwxr-xr-x 5 igor users 512 May 16 11:05 ..
-rwxr-xr-x 1 igor users 0 May 16 11:06 script.pl
drwxr—— 2 igor users 512 May 16 11:06 test2
-rwxrw-r— 1 igor users 0 May 16 11:06 text.txt
Слева направо поля: права на объект, число ссылок на объект, имя владельца, группа к которой принадлежит владелец, размер объекта, дата и время последней модификации, имя объекта.
script.pl имеет права при которых владелец может все (rwx), а все остальные, в том числе пользователи группы владельца только чтение и выполнение (r-x).
test2 видим, что это директория, владелец может все (rwx), группа владельца только чтение (r- -), у все остальных никаких прав доступа нет (- — -).
text.txt владелец может все (rwx), группа владельца может читать и изменять файл (rw-), все остальные пользователи только читать (r- -).
Теперь рассмотрим цифровое значение прав доступа.
3 цифры прав доступа это 3 секции:владелец, группа владельца, все остальные.
У каждого типа доступа есть свое значение:
- r (чтение) — 4
- w (запись) — 2
- x (выполнение) — 1
Чтобы получить цифру доступа просто складываем права для каждой секции отдельно, то есть:
7 (4+2+1) — чтение, запись, выполнение;
6(4+2) — чтение, запись;
5(4+1) — чтение, выполнение;
4 — только чтение;
1 — только выполнение.
Если взять нашу директорию test, то права доступа будут выглядеть следующим образом:
script.pl 755 или -rwxr-xr-x
text.txt 764 или -rwxrw-r—
test2 740 или drwxr——
Чтобы изменить права доступа в Linux необходимо воспользоваться командой chmod
Например: chmod 755 test.txt