Что такое chown
?
chown — это сокращение от ‘сменить владельца’ в unix и unix-подобных операционных системах. Право собственности важно в этих операционных системах, потому что оно дает пользователям или группам определенные разрешения. Вы можете проверить статус владения файлом или каталогом, перейдя в этот каталог и используя команду ls -l
. Попробуйте выполнить команду ls -l
в терминале ниже:
Добро пожаловать в Educative!
Игнорируйте все другие файлы и просто учитывайте в данном случае
filename.txt
.
-rwxrwxrwx 1 root root 21 июля 6 06:38 filename.txt//что соответствует следующему формату
Теперь, когда вы знаете, каков статус владения, вы можете использовать chown
для изменения их. Базовый синтаксис для chown
:
chown [OPTIONS] USER [: GROUP] FILE (s)
chown
часто используется с sudo или как root из-за разрешений, необходимых для использования команды.
- Вы можете установить
USER
, написав имя пользователя, а затем имя файла. Синтаксис простой команды смены владельца:
chown
- Точно так же вы можете изменить
GROUP
с помощью команды:
chown:
Вы также можете изменить группу с помощью команды
chgrp
. Используемый системный вызов такой же, как и дляchown
.
- Вы можете изменить и пользователя, и группу с помощью:
chown :
-
[OPTIONS]
относится к флагам операции, которые влияют на то, как операция выполняется. В этой статье мы рассмотрим флаг-R
или- recursive
, который используется для рекурсивных операций.
Напишите
man chown
в своем терминале или посетите эту страницу, чтобы увидеть все доступные флаги.
Как и зачем использовать chown
рекурсивно
При работе с каталогами вам необходимо использовать флаг -R
. chown
будет рекурсивно работать со всеми подкаталогами и файлами, чтобы внести указанные вами изменения:
chown -R : DIRECTORY
Вы можете использовать -R
с другими флагами, такими как h
:
chown -hR : DIRECTORY
Другие параметры, доступные в рекурсивном режиме: -L
и -H
. Функции этих параметров перечислены ниже.
Параметры | Описание |
---|---|
-h |
( также известен как —no – dereference) Не разыменовывает символическую ссылку; вместо этого, если файл является символической ссылкой, он меняет владельца файла |
-L |
Переходит по каждой символической ссылке к встреченным каталогам. |
H |
Если аргумент командной строки является символической ссылкой на каталог, перейдите по нему. |