ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как сделать Chown рекурсивным в Linux

Как сделать Chown рекурсивным

Иногда вы можете обнаружить ошибки при использовании любой операционной системы Linux, например, отказано при редактировании файла. Это из-за меньшего количества прав на этот конкретный файл. Chown обычно сокращается как «сменить владельца», что означает, что Chown – это инструкция по смене владельца группы файлов и папок в Linux. Более того, вам необходимо изменить владельца папки, в которой хранятся все документы в определенных ситуациях. Возможно, вам придется использовать рекурсивный chown, который является одним из вариантов инструкции chown. Рекурсивный означает, что chown будет выполняться для всех документов в указанном каталоге, а также для файлов и папок во всех подкаталогах. Вы узнаете, как рекурсивно изменять права доступа к каталогам и файлам, используя инструкцию chown в этой статье.

 

Синтаксис:

$ Chown –R Mode Directory

 

Пример 01: Простой Chown

Во-первых, нам нужно посмотреть, как работает команда chown. Откройте терминал командной строки из Приложения. Сгруппируйте все папки и файлы из домашнего каталога пользователя «andreyex» с помощью команды list. Вывод показывает список файлов и папок, как показано.

$ ls

 

У нас есть файл «main.c» в домашнем каталоге пользователя «andreyex». Мы должны проверить владельца конкретного файла, чтобы в дальнейшем применить изменения. Для этой конкретной цели мы будем использовать инструкцию «ls –lart». Как показано ниже, мы можем сказать, что пользователь «andreyex» является его владельцем и находится в группе «andreyex».

$ ls –lart filename

 

Давайте изменим его, изменив его владельца на пользователя «root». Для этого мы будем использовать команду chown ниже.

$ sudo chown root filename

 

Теперь, проверив владельца файла и группу с помощью той же команды «ls –lart», вы увидите, что владелец был изменен. Выходные данные показывают, что этот «root» пользователь является его владельцем, и он принадлежит к той же группе «andreyex».

$ ls –lart filename

 

Рекурсивный Chown с использованием флага –R:

Первый и самый простой способ – использовать флаг -R, чтобы указать рекурсивный характер инструкции chown. Давайте сначала проверим владельцев всех файлов и папок, находящихся в домашнем каталоге пользователя «andreyex», используя следующую команду ls. Из приведенных ниже результатов видно, что владельцем всех файлов, кроме двух, является пользователь «andreyex».

$ ls -la

 

Пример 01: Смена владельца

Теперь пора сменить владельца всех файлов и папок, используя флаг –R с запросом chown. Поэтому для этого мы будем использовать привилегии sudo. Попробуйте выполнить приведенную ниже команду «chown», за которой следует флаг «-R» вместе с именем владельца, которым является «root». Мы указали расположение каталога в этой инструкции. Это означает, что все файлы и папки, находящиеся в папке «andreyex» в «домашнем» каталоге, будут иметь владельца «root» вместо пользователя «andreyex». Для применения изменений может потребоваться пароль вашей учетной записи root.

$ sudo chown –R root /home/andreyex/

 

После выполнения команды chown пора проверить, были ли внесены изменения эффективно или нет. Для этой конкретной цели мы будем использовать ту же команду списка, что и раньше. Таким образом, вывод показывает, что все файлы заменены на «root».

$ ls –la

 

 

Пример 02: Изменить группу

После смены владельца пора изменить группу всех файлов и папок с помощью флага –R в инструкции chown. Сначала перечислите все файлы и папки с помощью команды list. Вы можете наблюдать, что все файлы и папки находятся в группе «andreyex».

 

$ ls -la

 

Мы изменим группу на «root» с «andreyex». Для этого мы будем использовать команду chown с флагом –R. В этой команде есть небольшое изменение. Чтобы изменить группу, мы будем использовать «:» перед названием группы. Мы предоставим местоположение каталога, для которого мы хотим изменить группу его подпапок. Используйте ключевое слово «sudo», чтобы применить имя группы. Для применения этих изменений может потребоваться пароль вашей учетной записи sudo, как показано ниже.

$ sudo chown –R: root /home/andreyex/

 

После применения изменений мы снова перечислим все файлы и папки для проверки обновления. Используйте для этого команду списка ниже. Вы можете видеть, что группа всех файлов и папок была изменена на «root».

$ ls -la

 

Пример простого блюда:

Возьмем простой пример, отличный от chown. Вы должны создать два файла с именами «one.txt» и «scnd.txt» с помощью сенсорной команды следующим образом:

$ touch filename1

$ touch filename2

 

Давайте проверим владельца и группу обоих файлов с помощью команды list, как показано ниже:

$ ls –l filename1

$ ls –l filename2

Вы можете видеть, что у обоих файлов один и тот же владелец и группа, например, «andreyex».

Давайте сначала изменим владельца файла one.txt на пользователя root, используя простую команду sudo chown, за которой следует имя владельца и имя файла, как показано ниже:

$ sudo chown root filename1

 

Проверив первый файл еще раз с помощью команды list, вы увидите, что владелец был изменен на «root».

$ ls –l filename1

 

Теперь мы назначим такие же права первого файла второму файлу, используя «reference» в команде chown, за которой следует первое имя файла. После этого вы должны указать имя второго файла, к которому будут применены изменения, как показано ниже:

$ sudo chown –reference=filename1 filename2

 

Теперь проверьте владельца и группу второго файла, используя ту же команду списка, как показано ниже:

$ ls –l filename2

 

Из вывода ниже мы видим, что владелец был изменен на root.

 

Заключение:

Мы выполнили chown рекурсивно с помощью флага «-R». С надеждой! У вас не возникнет проблем при использовании этой статьи.

Exit mobile version