Короткий ответ
Строка прав вида -rwxr-xr-- делится на владельца, группу и остальных по три символа каждая: r — чтение, w — запись, x — выполнение (для каталога x означает право заходить внутрь); первый символ указывает тип файла (- обычный, d каталог, l symlink).
Как это работает подробнее
Ядро проверяет права при каждой попытке доступа к файлу, сопоставляя UID/GID процесса с владельцем и группой файла и выбирая соответствующий набор из трёх бит; для каталогов x разрешает выполнение cd и доступ к содержащимся файлам по имени, а r разрешает листинг содержимого.
Пример кода
commands.sh
ls -l /opt/app/config.yaml
# -rw-r----- 1 appuser appgroup 1024 Oct 4 10:00 config.yamlЧто использовать на практике
- Практика. при диагностике Permission denied всегда проверяют оба уровня: права самого файла и права всех родительских каталогов на пути к нему (нужен x на каждый уровень), а не только финальный файл.
Подводные камни
- Риск. Частая ошибка — дать файлу право на чтение (r), забыв, что без x на родительском каталоге пользователь всё равно не сможет до него добраться по полному пути.