Управление правами доступа — основа безопасности Linux-систем. Эта шпаргалка содержит все команды и обозначения для работы с правами файлов и директорий.
ЧИСЛОВЫЕ И БУКВЕННЫЕ ОБОЗНАЧЕНИЯ ПРАВ
| Право | Число | Буква | Описание |
|---|---|---|---|
| Нет прав | 0 | --- |
Запрет всех действий |
| Выполнение | 1 | --x |
Запуск файла или вход в директорию |
| Запись | 2 | -w- |
Изменение содержимого |
| Запись+Выполнение | 3 | -wx |
Запись и выполнение |
| Чтение | 4 | r-- |
Просмотр содержимого |
| Чтение+Выполнение | 5 | r-x |
Чтение и выполнение |
| Чтение+Запись | 6 | rw- |
Чтение и запись |
| Все права | 7 | rwx |
Чтение, запись, выполнение |
КАТЕГОРИИ ПОЛЬЗОВАТЕЛЕЙ
| Категория | Обозначение | Описание |
|---|---|---|
| Владелец | u (user) |
Пользователь-создатель файла |
| Группа | g (group) |
Основная группа файла |
| Остальные | o (others) |
Все остальные пользователи |
| Все | a (all) |
Все категории (u+g+o) |
КОМАНДА CHMOD (ИЗМЕНЕНИЕ ПРАВ)
Синтаксис:
| chmod [опции] права файл/директория |
Таблица команд chmod:
| Команда | Описание | Пример |
|---|---|---|
chmod 755 file |
Установить права rwxr-xr-x | chmod 755 script.sh |
chmod 644 file |
Установить права rw-r—r— | chmod 644 config.conf |
chmod u+x file |
Добавить выполнение владельцу | chmod u+x program |
chmod g-w file |
Забрать запись у группы | chmod g-w document.txt |
chmod o=r file |
Установить только чтение для остальных | chmod o=r public.txt |
chmod a+x file |
Добавить выполнение всем | chmod a+x /usr/local/bin/* |
chmod -R 755 dir |
Рекурсивно для директории | chmod -R 755 /var/www/ |
КОМАНДА CHOWN (СМЕНА ВЛАДЕЛЬЦА)
| Команда | Описание | Пример |
|---|---|---|
chown user file |
Сменить владельца | chown alex report.pdf |
chown user:group file |
Сменить владельца и группу | chown alex:developers app.py |
chown :group file |
Сменить только группу | chown :www-data site/ |
chown -R user dir |
Рекурсивная смена | chown -R www-data /var/www/ |
chown --reference=src dst |
Копировать права из другого файла | chown --reference=file1 file2 |
СПЕЦИАЛЬНЫЕ БИТЫ ПРАВ
| Бит | Число | Обозначение | Назначение |
|---|---|---|---|
| SUID | 4000 | s в позиции владельца |
Запуск от имени владельца |
| SGID | 2000 | s в позиции группы |
Запуск с правами группы |
| Sticky Bit | 1000 | t в позиции остальных |
Запрет удаления чужих файлов |
Примеры:
КОМАНДА UMASK (МАСКА ПО УМОЛЧАНИЮ)
| Значение umask | Права файлов | Права директорий |
|---|---|---|
0022 (по умолчанию) |
644 (rw-r—r—) |
755 (rwxr-xr-x) |
0002 |
664 (rw-rw-r—) |
775 (rwxrwxr-x) |
0077 |
600 (rw——-) |
700 (rwx——) |
0000 |
666 (rw-rw-rw-) |
777 (rwxrwxrwx) |
Использование:
| umask # Показать текущую маску umask 0022 # Установить маску umask -S # Показать в символьном формате |
РАСШИРЕННЫЕ ПРАВА (ACL — ACCESS CONTROL LISTS)
| Команда | Описание | Пример |
|---|---|---|
setfacl -m u:user:perms file |
Добавить права пользователю | setfacl -m u:alex:rwx file |
setfacl -m g:group:perms file |
Добавить права группе | setfacl -m g:dev:rx dir |
setfacl -x u:user file |
Удалить запись ACL | setfacl -x u:alex file |
getfacl file |
Показать ACL | getfacl /shared/data |
setfacl -b file |
Удалить все ACL | setfacl -b file |
setfacl -d -m u:user:perms dir |
Установить ACL по умолчанию | setfacl -d -m u:alex:rwx /shared/ |
ПРАВА ДЛЯ ДИРЕКТОРИЙ
| Право | Для директории | Для файлов внутри |
|---|---|---|
r (чтение) |
Просмотр списка файлов | Чтение содержимого |
w (запись) |
Создание/удаление файлов | Изменение содержимого |
x (выполнение) |
Доступ к содержимому (cd) | Запуск файла |
ПОЛЕЗНЫЕ КОМАНДЫ ДЛЯ РАБОТЫ С ПРАВАМИ
| Команда | Описание |
|---|---|
ls -l |
Подробный список с правами |
ls -ld directory |
Права директории (не содержимого) |
stat file |
Детальная информация, включая права |
find /path -perm 644 |
Найти файлы с конкретными правами |
find /path -perm /u=s |
Найти SUID файлы |
find /path -perm /g=s |
Найти SGID файлы |
namei -l /path/to/file |
Показать права для всех элементов пути |
БЫСТРЫЕ КОМАНДЫ «СКОПИРУЙ И ИСПОЛЬЗУЙ»
ЧАСТЫЕ ОШИБКИ И КАК ИХ ИЗБЕЖАТЬ
-
Слишком открытые права (
777) — используйте755для программ,644для данных -
SUID на скриптах — работает только на бинарных файлах
-
Рекурсивный chmod 777 — может сломать работу системы
-
Забыть про sticky bit на /tmp — без него любой может удалить чужие файлы
Дата последнего обновления: 12/05/2025.
