🔐 Права доступа в Linux
Владелец, группа, rwx, chmod, chown, umask, setuid, sticky bit и ACL.
Шпаргалки · Администрирование · #linux #permissions #chmod #security
Как читать права
-rwxr-xr-- 1 anna dev 4096 Jan 5 10:00 script.sh
│└┬┘└┬┘└┬┘
│ │ │ └─ остальные (others)
│ │ └──── группа (group)
│ └─────── владелец (user)
└───────── тип: - файл, d папка, l ссылка
| Права | Файл | Папка |
|---|---|---|
r (4) |
чтение | список содержимого |
w (2) |
запись | создавать и удалять файлы внутри |
x (1) |
запуск | войти в папку (cd) |
Числовая запись
Сумма: r=4, w=2, x=1.
| Число | Права | Пример |
|---|---|---|
7 |
rwx | |
6 |
rw- | |
5 |
r-x | |
4 |
r-- | |
755 |
rwxr-xr-x | программы, папки |
644 |
rw-r--r-- | обычные файлы |
600 |
rw------- | ключи, секреты |
700 |
rwx------ | личные папки |
chmod
chmod 755 script.sh
chmod u+x script.sh # владельцу добавить запуск
chmod g-w,o-rwx file # группе убрать запись, остальным всё
chmod -R 750 dir/ # рекурсивно
chmod a+r file # всем чтение (a = all)
Владелец и группа
chown anna file
chown anna:dev file
chown -R www-data:www-data /var/www
chgrp dev file
id; groups anna
usermod -aG docker anna # добавить в группу (повторный вход обязателен)
umask
Определяет права новых файлов: umask 022 даёт файлам 644, папкам 755. umask 077 только владельцу.
Особые биты
| Бит | Число | Эффект |
|---|---|---|
| setuid | 4000 (u+s) |
исполняемый файл запускается с правами владельца |
| setgid | 2000 (g+s) |
запуск с правами группы; новые файлы в папке наследуют группу |
| sticky | 1000 (+t) |
в папке удалять файлы может только их владелец (как /tmp) |
chmod 2775 /srv/shared # общая папка команды
chmod +t /srv/drop
find / -perm -4000 -type f 2>/dev/null # поиск setuid-файлов (аудит безопасности)
ACL (тонкие права)
setfacl -m u:anna:rw file
setfacl -m g:dev:rx dir
setfacl -d -m g:dev:rwx dir # по умолчанию для новых файлов
getfacl file
sudo
sudo cmd выполняет от root. Настройка: visudo, файлы в /etc/sudoers.d/.
Внимание: Не ставьте
chmod 777: это даёт запись всем. Найдите владельца и группу, которым права действительно нужны.