Как изменить права на владение файлами и папками рекурсивно
Вы можете использовать команду chown в Linux для изменения прав собственности файлов и каталогов.
Она довольно проста в использовании.
chown owner_name file_or_folder
Проблема возникает в тех кейсах, когда вы меняете владельца каталога, а его содержимое остается неизменным.
Решение также не слишком сложное.
Чтобы изменить право владения на все содержимое каталога, вы можете использовать рекурсивную опцию -R в команде chown:
chown -R owner_name folder_name
Давайте рассмотрим это в деталях, а также увидим, как можно рекурсивно изменять пользователя и группу.
Все становится намного проще понять, если вы знакомы с концепцией владения файлами и правами.
Вам нужно будет иметь права root или использовать sudo для изменения прав собственности на файлы.
chown рекурсивно
Чтобы рекурсивно изменить права собственности на каталог, используйте его следующим образом:
chown -R new_owner_name directory_name
Если вам нужно изменить права собственности на несколько каталогов с их содержимым, вы можете сделать это в одной строке:
chown -R new_owner_name directory1 directory2 directory3
Позвольте мне показать это на примере.
У меня есть каталог new_dir с некоторым содержимым в нем.
Этот каталог и его содержимое принадлежат пользователю root.
root@:~# ls -l /home/abhi/ total 4 drwxr-xr-x 3 root root 4096 May 30 07:30 new_dir root@~# ls -l /home/abhi/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, его право собственности изменяется:
chown abhi /home/abhi/new_dir root@:~# ls -l /home/abhi/ total 4 drwxr-xr-x 3 abhi root 4096 May 30 07:30 new_dir
Но файлы и папки внутри него по-прежнему принадлежат root.
# ls -l /home/abhi/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, она меняет права собственности на все внутри указанного каталога, а не только на каталог.
chown -R abhi /home/abhi/new_dir root@:~# ls -l /home/abhi/new_dir/ total 20 -rw-r--r-- 1 abhi root 12813 May 30 07:30 new.txt drwxr-xr-x 2 abhi 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
Не слишком сложно, да?
Заключение
Надеюсь, это небольшое руководство поможет и вам.
