Как изменить права доступа к файлу в Linux?

«Как изменить права доступа к файлу в Linux?» — вопрос из категории Linux и командная строка, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для изменения прав доступа к файлу или директории в Linux используется команда chmod. Права задаются для трёх категорий пользователей: владельца файла (u), группы (g) и всех остальных (o).

Символьный формат (более наглядный):

chmod u+x script.sh      # Добавить право на выполнение для владельца
chmod g-w config.txt     # Запретить запись для группы
chmod a+r document.pdf   # Разрешить чтение всем
chmod u=rwx,g=rx,o= file # Установить точные права: владелец rwx, группа rx, остальные — нет прав

Числовой (восьмеричный) формат (компактный): Каждая цифра — сумма прав для категории:

  • 4 — чтение (r)
  • 2 — запись (w)
  • 1 — выполнение (x)
chmod 755 script.sh  # rwxr-xr-x: владелец — всё, группа и остальные — чтение и выполнение
chmod 644 config.txt # rw-r--r--: владелец — чтение и запись, остальные — только чтение
chmod 600 secret.key # rw-------: только владелец может читать и писать

Для рекурсивного изменения прав во всех вложенных файлах и папках используется флаг -R:

chmod -R 755 /path/to/directory/

В контексте тестирования я часто использую chmod для настройки прав на тестовые скрипты, конфигурационные файлы или временные директории, чтобы обеспечить корректное выполнение автоматизированных тестов.