Как изменить владельца (права пользователя) на директорию в Linux?

«Как изменить владельца (права пользователя) на директорию в Linux?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Чтобы изменить владельца (owner) и/или группу (group) директории в Linux, используется команда chown (change owner).

Базовый синтаксис:

chown [опции] новый_владелец[:новая_группа] путь_к_директории

Ключевые опции:

  • -R – рекурсивное изменение для всех файлов и поддиректорий внутри.
  • --from=текущий_владелец:текущая_группа – изменить права только у объектов с определёнными текущими владельцем и группой.

Практические примеры:

  1. Сменить владельца директории на пользователя appuser:
    sudo chown appuser /var/www/myapp
  2. Сменить владельца и группу одновременно:
    sudo chown appuser:appgroup /var/www/myapp
  3. Рекурсивно сменить владельца для всей директории и её содержимого:
    sudo chown -R appuser:appgroup /var/www/myapp
  4. Сменить только группу (используя chgrp или chown):
    sudo chown :appgroup /var/www/myapp
    # Или
    sudo chgrp appgroup /var/www/myapp

Важные замечания:

  • Для смены владельца обычно требуются права суперпользователя (sudo).
  • Перед изменением проверьте текущие права с помощью ls -ld:
    ls -ld /var/www/myapp
    # drwxr-xr-x 5 root root 4096 ... /var/www/myapp
  • Некорректное изменение владельца системных директорий может нарушить работу ОС или приложений.