Права и пользователи

Владельцы, режимы доступа, группы, 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`.