Триады rwx, числовая запись chmod и владельцы файлов.
Читаем ls -l: rwx по ролям
ls -l deploy.sh# -rwxr-xr-x 1 alice dev 41 Aug 12 10:00 deploy.sh# ^владелец ^группа ^остальные (r читать w писать x выполнять)
Первый символ — тип (- файл, d каталог, l ссылка), дальше три триады: владелец, группа, остальные. На каталоге x значит «право войти», а r — лишь читать список имён.
Каждая цифра — сумма прав одной роли: r=4, w=2, x=1; семёрка — всё, пятёрка — чтение и выполнение. chmod 777 «чинит» Permission denied ценой записи для любого процесса — не решение.
chmod буквами: u+x, g-w
chmod +x script.sh # исполняемый — самый частый вызовchmod u+x tool.sh # x только владельцуchmod g-w shared.txt # забрать запись у группы./script.sh # запуск: ./ обязателен
u владелец, g группа, o остальные, a все; + добавить, - забрать. Точка со слэшем при запуске обязательна: без ./ шелл ищет команду в PATH, а не в текущем каталоге.
chown: владелец и группа
sudo chown alice report.txt # сменить владельцаsudo chown alice:dev report.txt # владельца и группуsudo chown -R alice:dev /srv/app # рекурсивно
chmod меняет биты, chown — кому они принадлежат; менять владельца может только root. Связка «группа dev + права 640» — стандартный способ дать доступ команде, а не людям поодиночке.
Новые файлы стартуют от 666, каталоги от 777, маска вычитает биты. На серверах обычна маска 0022 (файлы 644); umask 027 закрывает файлы от посторонних с момента создания.