Permission denied при запуске скрипта
Нет бита x: chmod +x script.sh. Либо файл на noexec-разделе (mount | grep noexec,
см. mount). Либо неверный shebang.
Не могу записать в каталог, хотя есть w на файл
Для создания/удаления/переименования файла важны права на каталог (w+x), не на
сам файл. И наоборот: удалить файл можно без прав на него, если есть w на каталог.
Веб-сервер не читает файлы (403)
nginx работает от www-data — нужен r на файлы и x на все каталоги пути.
namei -l /var/www/site/index.html покажет, где именно прав не хватает.
Доступ должен быть, но его нет
Возможно, действуют ACL (символ + в ls -l) или AppArmor
(в журнале apparmor ... DENIED). Классических прав мало для полной картины.
SGID-каталог: новые файлы не той группы
SGID наследует группу для новых, но уже существующие и перенесённые через mv
надо перевести вручную (chgrp -R). Право записи для группы задаёт umask
создателя — см. Особые биты прав.