Права и пользователи
Владельцы, режимы доступа, группы, sudo и атрибуты.
Посмотреть права
Перед изменением проверить владельца, группу, числовой режим и путь к объекту.
ls -lah /opt/project stat /opt/project/config.yml namei -l /opt/project/config.yml id groups getent passwd USER_NAME getent group GROUP_NAME
chmod и chown
Не ставить `777` как универсальное решение. Лучше дать ровно нужные права.
chmod 644 file.conf chmod 755 script.sh chmod -R u=rwX,g=rX,o= folder chown USER_NAME:GROUP_NAME file.conf chown -R USER_NAME:GROUP_NAME /opt/project chgrp www-data /opt/project
Пользователи и группы
После добавления пользователя в группу обычно нужен новый login-сеанс.
useradd -m -s /bin/bash USER_NAME passwd USER_NAME usermod -aG sudo USER_NAME groupadd GROUP_NAME gpasswd -a USER_NAME GROUP_NAME userdel -r USER_NAME
sudo и su
`visudo` проверяет синтаксис sudoers и снижает риск заблокировать себе доступ.
sudo -l sudo -u www-data id su - USER_NAME visudo visudo -f /etc/sudoers.d/custom sudo journalctl -u SERVICE_NAME -n 50
umask и атрибуты
`chattr +i` делает файл неизменяемым даже для случайной правки. Снимать только осознанно.
umask umask 027 lsattr file.conf chattr +i file.conf chattr -i file.conf getfacl /opt/project setfacl -m u:USER_NAME:rwx /opt/project
Что искать дальше
Полезные запросы: `chmod numeric permissions`, `linux acl setfacl`, `sudoers visudo examples`, `chattr immutable`.