Вы можете использовать команду 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
Не слишком сложно, да?
Заключение
Надеюсь, это небольшое руководство поможет и вам.
Я настоятельно рекомендую изучить основы разрешений и прав на файлы.
- 🐧 Использование команд Chown и Chmod на Linux
- Как предоставить пользователю привилегии chown и chmod для определенного каталога в Linux
- 🐧 Опасные последствия команды chmod 777
- 🐧 Как (правильно) изменить UID и GID пользователя / группы в Linux
- 🛠️ Исправляем ошибку “Forbidden – You don’t have permission to access / on this server”
- 📜 Bash скрипт для копирования всех файлов с той же структурой каталогов