Права на файлы Linux: chmod, chown, SUID и ACL

Безопасность · 19.04.2026
Права на файлы Linux: chmod, chown, SUID и ACL

Права доступа к файлам — фундаментальный механизм безопасности Linux. Неправильные права могут привести к утечке конфигов с паролями или позволить злоумышленнику выполнять код.

Числовая нотация chmod

ЧислоПраваПрименение
777rwxrwxrwxНикогда! Опасно
755rwxr-xr-xДиректории, скрипты
644rw-r--r--Файлы HTML, PHP
600rw-------Приватные ключи, конфиги
400r--------Только чтение владельцем
find /var/www -type f -exec chmod 644 {} \;
find /var/www -type d -exec chmod 755 {} \;
chmod u+x script.sh
chmod g-w config.php
chown -R www-data:www-data /var/www/site/

Специальные биты: SUID, SGID, Sticky

# SUID — запуск с правами владельца файла
chmod u+s /usr/bin/program  # chmod 4755
# ls: -rwsr-xr-x

# SGID — наследование группы директории
chmod g+s /shared/dir  # chmod 2755

# Sticky bit — только владелец удаляет файл
chmod +t /tmp  # chmod 1777
# ls: drwxrwxrwt

# Найти SUID-файлы (потенциальная угроза)
find / -perm -4000 -type f 2>/dev/null

ACL — расширенные права

apt install acl -y
setfacl -m u:deploy:rw /var/www/config.php
setfacl -Rm g:devteam:rwx /var/www/project/
getfacl /var/www/config.php
setfacl -b /var/www/config.php  # Удалить ACL
Золотое правило: Принцип минимальных привилегий — давайте только необходимые права. Для веб-сервера: файлы 644, директории 755, конфиги 600. Никогда не 777.
← Назад в базу знаний Задать вопрос поддержке