Вісімкові та символічні режими для chmod, а також біти setuid, setgid і sticky.
Кожен файл має три класи: власник, група та інші. Кожен клас — це сума трьох бітів: читання — 4, запис — 2, виконання — 1. Три вісімкові цифри утворюють режим.
Довідкова таблиця · 42 записи
Права доступу до файлів у LinuxExplained
42 of 42 rows
Числові (вісімкові)
Власник має повний доступ; група та інші читають і виконують.
chmod 755 script.sh
Власник читає і записує; група та інші — лише читають.
chmod 644 notes.txt
Лише власник читає і записує; для інших доступу немає.
chmod 600 ~/.ssh/id_rsa
Повний доступ лише у власника; для інших доступу немає.
chmod 700 ~/.ssh
Повний доступ для всіх. Ризик безпеки.
chmod 777 shared/
Усі читають і записують. Біт виконання не встановлено.
chmod 666 log.txt
Власник має повний доступ; група читає і виконує; інші нічого не мають.
chmod 750 app/
Лише виконання для всіх класів. Каталог можна проходити, але не перелічувати.
chmod 111 dir/
Ніякого доступу для жодного класу. Root усе одно може прочитати файл.
chmod 000 private.key
Повний доступ для власника і групи плюс setgid; типовий режим для спільного каталогу команди.
chmod 2775 /srv/team
Результати umask
Типова маска. Нові файли отримують 644; нові каталоги — 755.
umask 022
Приватна маска. Нові файли отримують 600; нові каталоги — 700.
umask 077
Символьні
Додати виконання для власника.
chmod u+x deploy.sh
Забрати запис у групи.
chmod g-w config.yml
Забрати читання в інших.
chmod o-r secret.env
Встановити лише читання для всіх класів.
chmod a=r readme.md
Надати всі права всім класам.
chmod ugo+rwx public/
Спеціальні біти
Встановлено біт setuid. Бінарник виконується від імені власника файла.
chmod 4755 /usr/bin/passwd
Встановлено біт setgid. Нові файли та підкаталоги успадковують групу каталога.
chmod 2755 /shared
Встановлено sticky-біт. Видаляти може лише власник файла.
chmod 1777 /tmp
Sticky-біт на звичайному файлі. Застаріла підказка тримати файл у swap, успадкована зі старого Unix, яку сучасний Linux ігнорує.
chmod 1755 legacy.sh
Команди
Змінює біти режиму файла.
chmod 755 file
Змінює власника і групу файла.
chown user:group file
Змінює групу-власника файла.
chgrp devs file
Задає типову маску прав для нових файлів.
umask 022
Перелічує файли з правами у довгому форматі.
ls -l /etc
Показує записи POSIX ACL файла.
getfacl report.pdf
Задає або змінює записи POSIX ACL.
setfacl -m u:alice:rw report.pdf
Знаходить файли, чиї біти прав відповідають режиму.
find / -perm /4000
Виводить метадані файла, включно з вісімковим режимом.
stat -c '%a %n' file
Перелічує права кожного компонента шляху.
namei -l /var/www/index.html
Змінює атрибут файла, наприклад immutable.
chattr +i /etc/resolv.conf
Перелічує атрибути файла.
lsattr /etc/resolv.conf
Показує capabilities, надані файлу.
getcap /usr/bin/ping
Надає файлу capability без setuid.
setcap 'cap_net_raw=+ep' /usr/bin/ping
Перелічує capabilities, активні в поточній оболонці.
capsh --print
Показує UID, GID і членство в групах користувача.
id alice
Перелічує групи, до яких належить користувач.
groups alice
Виконує команду від імені іншого користувача за політикою sudoers.