Команда Chown в Linux и Как Её Использовать: Руководство

В операционных системах Linux каждый файл связан с владельцем и группой. Команда chown в Linux — это сокращение от “сменить владельца” (англ. “Change owner”). Она может использоваться суперпользователем на любых Unix-подобных системах. В этом руководстве вы узнаете, чем полезна команда и как начать её использовать.

С помощью параметров chown можно изменить владельца файлов, каталогов и ссылок. Если обычный пользователь хочет внести определённые изменения в файл, суперпользователь может использовать команды chown, чтобы изменить владельца и разрешить доступ.

Прокачайте ваш Linux сервер, воспользовавшись скидками на VPS-хостинг в Hostinger! Большой выбор планов, как для учебных, так и для крупных коммерческих проектов.

К предложению

Просмотр Информации о Владельце с Помощью Chown в Linux

Во-первых, вам нужно войти в свой VPS с помощью SSH. Если вам нужно вспомнить, как это сделать вот руководство.

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

Например, если путь к файлу — /tmp/TestUnix, перейдите туда с помощью следующей команды:

cd /tmp/TestUnix

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

ls -l

Для этого руководства мы создали файл с именем chownSample.txt в каталоге. Вот как будет выглядеть вывод вышеуказанной команды:

-rw-r--r-- 1 root root 0 Feb 20 17:35 chownSample.txt

Здесь первая часть -rw-r–r– представляет права доступа к файлу. Первый root представляет информацию о владельце, а второй — о группе. В приведённом выше примере chownSample.txt имеет права root, а root принадлежит корневой группе.

Команда Chown для Файлов

Основной формат команды, чтобы изменить владельца файла:

chown user filename(s)

Для того же файла chownSample.txt, давайте сменим владельца с root на нового пользователя с именем whales. Пример этой команды показан ниже:

chown whales chownSample.txt

Чтобы подтвердить смену владельца, вы можете снова использовать команду ls -l. Вот, что получится в результате:

-rw-r--r-- 1 whales root 0 Feb 20 17:45 chownSample.txt

Команду можно изменить, чтобы сменить группу. Основной формат для смены владельца и группы:

chown user[:group] filename(s)

Чтобы изменить право собственности на файл chownSample.txt на нового владельца с именем whales и группу aquatic, команда будет такой:

chown whales:aquatic chownSample.txt

Чтобы подтвердить смену владельца и группы, используйте ls -l. Вывод этой команды:

-rw-r--r-- 1 whales aquatic 0 Feb 20 17:50 chownSample.txt

Если нужно изменить только группу, мы можем пропустить владельца. Вот пример команды в командной строке:

chown :aquatic chownSample.txt

Chown в Linux выполняет функции, аналогичные chgrp, когда информация о владельце не указана. Эта команда также может использоваться с несколькими параметрами.

Общая структура команды chown с параметрами ([OPTIONS]):

chown [OPTIONS] [USER] [:GROUP] filename(s)

Команда Chown для Каталогов

Chown также можно применять для папок. Папки в свою очередь могут содержать только файлы, только папки или и то, и другое.

Допустим, у нас есть папка с именем TestUnix, мы можем использовать команду ls -l для просмотра разрешений. Пример команды в выводе:

drwxr-xr-x 2 root root 4096 Feb 20 17:35 TestUnix

Здесь первая часть drwxr-xr-x представляет разрешение для папки. Первый root — это информация о владельце, а второй — информация о группе. В этом примере TestUnix имеет владельца root и корневую группу.

Подобно файлам, мы можем изменить владельца и группу для папок. Пример команды для этого:

chown whales /TestUnix

Чтобы изменить только группу:

chown :aquatic /TestUnix

Чтобы изменить владельца и группу файла:

chown whales:aquatic /TestUnix

Эту же команду можно использовать для нескольких файлов или папок. Формат команды:

chown [OPTIONS] [USER][:GROUP] file1 file2

Пример такой команды:

chown whales:aquatic /tmp/TestUnix/chownSample.txt /tmp/TestUnix

Команда Chown для Ссылок

Команда Chown в Linux может использоваться для символических, или программных ссылок. Символическая ссылка — это ссылка на существующий физический файл. Для создания программных ссылок используется команда ln. Для файла chownSample.txt символическая ссылка может быть создана как:

ln -s chownSample.txt symlink

Чтобы подтвердить владельца и информацию о группе, мы можем использовать команду ls -l. Вот, что мы получим в результате:

-rw-r--r--  1 root root  0 Feb 19 22:01 chownSample.txt
lrwxr-xr-x  1 root root 5 Feb 19  7 22:01 symlink -> chownSample.txt

Доступны две записи. Одна для физического файла, а другая для символической ссылки. Давайте попытаемся изменить владельца с помощью следующей команды:

chown whales symlink

Приведённая выше команда сменит владельца файла chownSample.txt. Таким образом, вывод команды ls -l будет выглядеть так:

-rw-r--r--  1 whales root  0 Feb 19 22:01 chownSample.txt
lrwxr-xr-x  1 root root 5 Feb 19  7 22:01 symlink -> chownSample.txt

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

chown -h whales symlink

Если мы используем команду ls -l, результат будет таким, как показано ниже, где право собственности на символическую ссылку изменено:

-rw-r--r--  1 whales root  0 Feb 19 22:01 chownSample.txt
lrwxr-xr-x  1 whales root  5 Feb 19 7 22:01 symlink -> chownSample.txt

Рекурсивная Смена Владельца с Помощью Chown в Linux

Команда chown может применяться к папкам, однако папки могут иметь рекурсивную структуру, а у нас может возникнуть необходимость сменить владельца для всех файлов и папок.

Рекурсивное использование команды chown гарантирует, что все каталоги и подкаталоги сменят владельца или группу.

Для рекурсивной операции нам нужно использовать опцию -R. Вот пример этой команды:

chown -R [USER][:GROUP] Directory

Если у нас есть папка с названием TestUnix, в которой находятся несколько подкаталогов, то приведённая ниже команда изменит владельца всех папок и подкаталогов на пользователя с именем whales.

chown -R whales /TestUnix

Итоги

Вот и всё, теперь вы знаете, что такое команда chown в Linux и как она работает. Стоит отметить, что системы Unix имеют справочные страницы для каждой команды. Так что, если вы захотите полностью освоить возможности chown, откройте необходимое руководство с помощью команды man chown. Надеемся, что это поможет вам управлять вашими файлами VPS безопасным и эффективным способом. Удачной разработки!

Author
Автор

Olha L.

Ольга вже близько восьми років працює менеджером у сфері IT, три з яких вона займається SEO. Написання технічних завдань та інструкцій — один з її основних обов'язків. Її хобі — дізнаватися щось нове і створювати цікаві та корисні статті про сучасні технології, веброзробку, мови програмування, пошукову оптимізацію сайтів та багато іншого.