Вы можете использовать команду chown в Linux, чтобы изменить владельца файла(ов) и каталогов . Его довольно просто использовать.
chown owner_name file_or_folder
Проблема возникает, когда вы меняете владельца каталога, его содержимое остается неизменным. Решение тоже не сложное.
Чтобы изменить владельца всего содержимого каталога, вы можете использовать рекурсивную опцию -R с командой chown:
chown -R owner_name folder_name
Если вы хотите рекурсивно изменить владельца и группу, вы можете использовать это следующим образом:
chown -R owner_name:group_name folder_name
Давайте рассмотрим это подробно, а также посмотрим, как вы можете рекурсивно изменить пользователя и группу. Вещи намного легче понять, если вы знакомы с концепцией владения файлом и правами доступа.
chown рекурсивно
Чтобы рекурсивно изменить владельца каталога, используйте его следующим образом:
chown -R new_owner_name directory_name
Если вам нужно изменить владельца нескольких каталогов с их содержимым, вы можете сделать это в одной строке:
chown -R new_owner_name directory1 directory2 directory3
Позвольте нам показать это на примере примера. У меня есть каталог с именем new_dir с некоторым содержимым. Этот каталог и его содержимое принадлежат пользователю root.
root@learnubuntu:~# ls -l /home/andreyex/ total 4 drwxr-xr-x 3 root root 4096 May 30 07:30 new_dir root@learnubuntu:~# ls -l /home/andreyex/new_dir/ total 20 -rw-r--r-- 1 root root 12813 May 30 07:30 new.txt drwxr-xr-x 2 root root 4096 May 30 07:30 one_more_dir
Когда мы меняем владельца new_dir, его владелец меняется:
root@learnubuntu:~# chown andreyex /home/andreyex/new_dir root@learnubuntu:~# ls -l /home/andreyex/ total 4 drwxr-xr-x 3 andreyex root 4096 May 30 07:30 new_dir
Но файлы и папки внутри него по-прежнему принадлежат пользователю root.
root@learnubuntu:~# ls -l /home/andreyex/new_dir/ total 20 -rw-r--r-- 1 root root 12813 May 30 07:30 new.txt drwxr-xr-x 2 root root 4096 May 30 07:30 one_more_dir
Теперь, если мы используем рекурсивную опцию -R с командой chown, она меняет владельца для всего внутри указанного каталога, а не только для каталога.
root@learnubuntu:~# chown -R andreyex /home/andreyex/new_dir root@learnubuntu:~# ls -l /home/andreyex/new_dir/ total 20 -rw-r--r-- 1 andreyex root 12813 May 30 07:30 new.txt drwxr-xr-x 2 andreyex root 4096 May 30 07:30 one_more_dir
Меняйте владельца и группу рекурсивно
Команда chown позволяет вам изменить владельца, а также группу файлов.
Чтобы рекурсивно изменить владельца и группу каталога и всего его содержимого, используйте команду chown следующим образом:
chown -R user_name:group_name directory_name
Вы можете использовать то же самое для изменения владельца нескольких папок:
chown -R user_name:group_name dir1 dir2
Не слишком сложно, а?
Вывод
Недавно мы переместили собственный экземпляр Ghost на новый сервер. Нам пришлось загрузить всю папку с изображениями из резервной копии (загруженной в локальной системе) на новый сервер. Системе требовалось изменить владельца этой папки с изображениями с корневой на призрачную.
Этот метод избавил нас от проблем. Мы надеемся, что это краткое небольшое руководство поможет и вам.
Мы настоятельно рекомендуем освежить в памяти основы прав доступа к файлам и владельцев.