Поиск по разделу помощи:
Расширенный поиск
Главная / Полезная информация

Права доступа в Unix-системах


Unix — многопользовательская операционная система, где каждый пользователь имеет свои файлы, к которым может быть ограничен доступ для других пользователей. Пользователи могут объединяться в «группы» для обеспечения безопасного доступа к файлам.

Права доступа делятся на три группы:

  • user — права владельца файла;
  • group — права группы, которой принадлежит файл;
  • other — права всех остальных пользователей системы.

Права доступа к файлам и директориям имеют различные значения:

 
r
w
x
Права доступа к файлам
право на чтение данных из файла
право на изменение содержимого файла (запись), не дает право на удаление файла
право на исполнение любого файла
Права доступа к директориям
право на чтение директории, то есть на получение списка файлов
право на изменение содержимого директории, то есть на создание и удаление файлов в этой директории
право на вход в директорию (всегда проверяется в первую очередь среди других прав доступа к файлу)

Менять права доступа к файлу может только владелец файла или специальный пользователь root — суперпользователь, который обладает неограниченными правами на выполнение любых действий с любыми объектами.
Права доступа можно задать используя два формата записи: числовой или символьный. Наиболее распространенным является числовой формат.

Числовой формат записи
 
Таблица преобразования из двоичного формата в десятичный:
 
r
w
x
число
права
0
0
0
0
никаких прав
0
0
1
1
право только на исполнение
0
1
0
2
право только на изменение
0
1
1
3
права на исполнение и изменение
1
0
0
4
право только на чтение
1
0
1
5
права на чтение и исполнение
1
1
0
6
права на чтение и запись
1
1
1
7
все права

Пример: rwxrwxrwx — 777 (полный доступ для всех пользователей).

Права определяются тремя группами бит, соответственно результатом их преобразования в десятичный формат будут являться 3 числа.
Первое число задает права доступа владельца файла, второе — права доступа группы, третье — права доступа всех остальных пользователей.
 
Стандартными правами доступа являются:
 
  • для файлов — 644 (rw-r--r--);
     
  • для директорий — 755 (rwxr-xr-x).

Просмотр и изменение прав доступа
 
Для просмотра прав доступа используется команда ls -la, например:
$ ls -la filename
-rwxr--r-- 1 user1 user1-users 1093 May 4 16:57 filename

В данном случае установлены права 744: владелец файла (user1) имеет полные права доступа, группа (user1-users) и остальные пользователи — только права на чтение файла.
 
Для изменения прав доступа к файлу используется команда chmod. В ней необходимо указать имя файла и права доступа, которые требуется назначить.
Например, нам необходимо добавить группе права на исполнение файла. В таком случае вместо прав 744 следует установить 754:
$ chmod 754 filename
$ ls -al filename
-rwxr-xr-- 1 user1 user1-users 1093 May 4 16:57 filename