Skip to content

Права доступу до файлів у Linux пояснені

Вісімкові та символічні режими для chmod, а також біти setuid, setgid і sticky.

Кожен файл має три класи: власник, група та інші. Кожен клас — це сума трьох бітів: читання — 4, запис — 2, виконання — 1. Три вісімкові цифри утворюють режим.

Довідкова таблиця · 42 записи
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.sudo systemctl restart nginx
Редагує файл sudoers із перевіркою синтаксису.visudo
Перехід до іншого облікового запису користувача.su - deploy
Запускає оболонку з іншою основною групою.newgrp developers