Команда chown используется для изменения владельца файлов и директорий в Linux. Рассмотрим базовые сценарии и использование рекурсивного режима.
Изменение владельца файла
Для изменения владельца файла используется команда chown со следующей структурой:
chown [опции] владелец:группа файл...
- владелец: имя нового владельца файла.
- группа: имя новой группы файла (необязательно).
- файл: путь к файлу (или файлам).
Например, для изменения владельца файла /home/bogdan/2.txt на пользователя bogdan и группу bogdan выполняется следующая команда (от имени пользователя root):
chown bogdan:bogdan /home/bogdan/2.txt
Проверка с помощью ls -la /home/bogdan/2.txt подтвердит изменение владельца и группы. Без указания группы, только владелец изменится:
chown bogdan /home/bogdan/2.txt
Изменение владельца директории и её содержимого
Создадим директорию /home/bogdan/tmp и два файла в ней (от имени пользователя root):
mkdir /home/bogdan/tmp
touch /home/bogdan/tmp/3.txt /home/bogdan/tmp/4.txt
Изменение владельца директории tmp на пользователя bogdan и группу bogdan:
chown bogdan:bogdan /home/bogdan/tmp
Эта команда изменит владельца только директории. Для изменения владельца файлов внутри директории используется опция -R для рекурсивного изменения:
chown -R bogdan:bogdan /home/bogdan/tmp
После этой команды, проверка с помощью ls -la /home/bogdan/tmp покажет, что владельцы всех файлов и поддиректорий внутри tmp изменены на bogdan.
Права доступа
Важно помнить, что для изменения владельца файлов, которые не принадлежат текущему пользователю, требуются права root. Попытка изменить владельца без этих прав приведёт к ошибке «операция не разрешена».
Команда chown с опцией -R эффективно управляет владением файлов и директорий в Linux, особенно полезно для больших директорий.