Как сменить владельца папки в Linux: пошаговая инструкция для начинающих.

Если вы недавно работаете в Linux и вам нужно изменить владельца папки или файла, эта статья для вас. Мы подробно расскажем, что такое владельцы в Linux, зачем их менять и как это сделать простым и понятным языком.

Что такое владельцы папок и файлов в Linux?

В Linux каждая папка и файл принадлежат определённому пользователю и группе. Это помогает системе управлять доступом и безопасностью. Обычно владельцем файла является тот пользователь, который создал его.

Владелец — это пользователь, который управляет файлом или папкой.

Группа — это группа пользователей, которым тоже может быть предоставлен доступ к файлу или папке.

Иногда возникает необходимость сменить владельца или группу файла или папки (например, когда передаете файлы другому пользователю или меняете права доступа).

Почему важно знать, как меняется владелец папки?

  • Для обеспечения безопасности системы.
  • Для правильной работы программ или скриптов.
  • Для предоставления доступа другим пользователям.

Как изменить владельца папки в Linux?

Самый распространённый способ — использовать команду chown. Это одна из базовых команд в Linux для изменения владельца и группы файла или папки.

Общий синтаксис команды chown

sudo chown [новый_владелец][:новая_группа] путь_к_папке

sudo — позволяет выполнить команду с правами суперпользователя (нужна, если вы не являетесь владельцем).

новый_владелец — имя пользователя, которому нужно передать право владения.

новая_группа — необязательный параметр, группа, которой также передается право владения.

путь_к_папке — полный путь до папки, владельца которой меняете.

Пример 1: смена владельца папки

У нас есть директория test, а в ней поддиректория sub_test. Сейчас у них у всех владелиц root:

[root@waky practice]# ls test/sub_test/
test.txt
[root@waky practice]# ls -Rl
.:
total 0
drwxr-xr-x. 3 root root 22 Jan 11 04:13 test

./test:
total 0
drwxr-xr-x. 2 root root 22 Jan 11 04:13 sub_test

./test/sub_test:
total 0
-rw-r--r--. 1 root root 0 Jan 11 04:11 test.txt
[root@waky practice]#

Сменим владельца основной директории командой chown:

[root@waky practice]# chown test_user test
[root@waky practice]# 

Это изменит владельца папки на test_user. Обратите внимание, что группа останется без изменений:

[root@waky practice]# ls -l
total 0
drwxr-xr-x. 3 test_user root 22 Jan 11 04:13 test
[root@waky practice]#

Пример 2: смена владельца и группы

Если вы хотите одновременно изменить владельца и группу, используйте двоеточие:

[root@waky practice]# chown test_user:wheel test
[root@waky practice]# 

Здесь владельцем станет test_user, а группа — wheel:

[root@waky practice]# ls -l
total 0
drwxr-xr-x. 3 test_user wheel 22 Jan 11 04:13 test
[root@waky practice]#

Пример 3: рекурсивная смена

Чтобы изменить владельца папки и всех её файлов и подкаталогов — используйте атрибут -R (рекурсивно). Все прежние изменения не повлияли на вложенные файлы и папки:

[root@waky practice]# ls -l
total 0
drwxr-xr-x. 3 test_user wheel 22 Jan 11 04:13 test
[root@waky practice]# ls -Rl
.:
total 0
drwxr-xr-x. 3 test_user wheel 22 Jan 11 04:13 test

./test:
total 0
drwxr-xr-x. 2 root root 22 Jan 11 04:13 sub_test

./test/sub_test:
total 0
-rw-r--r--. 1 root root 0 Jan 11 04:11 test.txt
[root@waky practice]# 

Они остались с владельцем и группой root. Повторим смену владельца, но в этот раз рекурсивно:

[root@waky practice]# chown -R test_user:wheel test
[root@waky practice]#

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

[root@waky practice]# ls -Rl
.:
total 0
drwxr-xr-x. 3 test_user wheel 22 Jan 11 04:13 test

./test:
total 0
drwxr-xr-x. 2 test_user wheel 22 Jan 11 04:13 sub_test

./test/sub_test:
total 0
-rw-r--r--. 1 test_user wheel 0 Jan 11 04:11 test.txt
[root@waky practice]#

Подробнее об использовании chown читайте в нашей специальной статье.

Заключение

Изменение владельца папки в Linux — это просто и удобно с помощью команды chown. Вот краткое резюме:

Откройте терминал.

Введите команду sudo chown [новый_владелец] [путь_к_папке].

Для изменения группы — используйте : и укажите группу.

Для рекурсивных изменений — добавьте -R.

Важно: Перед выполнением любых команд для изменения владельца убедитесь, что вы понимаете последствия, чтобы случайно не нарушить работу системы или доступность файлов.