- Команда Chown в Linux и Как Её Использовать: Руководство
- Просмотр Информации о Владельце с Помощью Chown в Linux
- Команда Chown для Файлов
- Команда Chown для Каталогов
- Команда Chown для Ссылок
- Рекурсивная Смена Владельца с Помощью Chown в Linux
- Итоги
- Команда chown в Linux
- Синтаксис
- Примеры
- Рекурсивно массово меняем права на папки и файлы
- Ubuntu Documentation
- Права доступа в системе Linux
- Команда chmod
- Символьная форма прав доступа
- Числовая форма прав доступа
- Примеры
- Символьная форма
- Команда chown
- Команда chgroup
Команда Chown в Linux и Как Её Использовать: Руководство
В операционных системах Linux каждый файл связан с владельцем и группой. Команда chown в Linux — это сокращение от “сменить владельца” (англ. “ Ch ange own er”). Она может использоваться суперпользователем на любых Unix-подобных системах. В этом руководстве вы узнаете, чем полезна команда и как начать её использовать.
С помощью параметров chown можно изменить владельца файлов, каталогов и ссылок. Если обычный пользователь хочет внести определённые изменения в файл, суперпользователь может использовать команды chown, чтобы изменить владельца и разрешить доступ.
Прокачайте ваш Linux сервер, воспользовавшись скидками на VPS-хостинг в Hostinger! Большой выбор планов, как для учебных, так и для крупных коммерческих проектов.
Просмотр Информации о Владельце с Помощью Chown в Linux
Во-первых, вам нужно войти в свой VPS с помощью SSH. Если вам нужно вспомнить, как это сделать вот руководство.
Перед использованием команды chown нам необходимо подтвердить информацию о пользователе и группе. Вы можете получить эту информацию, используя cd и перейдя в нужный каталог.
Например, если путь к файлу — /tmp/TestUnix , перейдите туда с помощью следующей команды:
Чтобы узнать, кому принадлежат файлы, вы можете вывести их список в каталоге с помощью следующей команды:
Для этого руководства мы создали файл с именем chownSample.txt в каталоге. Вот как будет выглядеть вывод вышеуказанной команды:
Здесь первая часть -rw-r–r– представляет права доступа к файлу. Первый root представляет информацию о владельце, а второй — о группе. В приведённом выше примере chownSample.txt имеет права root, а root принадлежит корневой группе.
Команда Chown для Файлов
Основной формат команды, чтобы изменить владельца файла:
Для того же файла chownSample.txt , давайте сменим владельца с root на нового пользователя с именем whales . Пример этой команды показан ниже:
Чтобы подтвердить смену владельца, вы можете снова использовать команду ls -l. Вот, что получится в результате:
Команду можно изменить, чтобы сменить группу. Основной формат для смены владельца и группы:
Чтобы изменить право собственности на файл chownSample.txt на нового владельца с именем whales и группу aquatic, команда будет такой:
Чтобы подтвердить смену владельца и группы, используйте ls -l . Вывод этой команды:
Если нужно изменить только группу, мы можем пропустить владельца. Вот пример команды в командной строке:
Chown в Linux выполняет функции, аналогичные chgrp, когда информация о владельце не указана. Эта команда также может использоваться с несколькими параметрами.
Общая структура команды chown с параметрами ([OPTIONS]):
Команда Chown для Каталогов
Chown также можно применять для папок. Папки в свою очередь могут содержать только файлы, только папки или и то, и другое.
Допустим, у нас есть папка с именем TestUnix, мы можем использовать команду ls -l для просмотра разрешений. Пример команды в выводе:
Здесь первая часть drwxr-xr-x представляет разрешение для папки. Первый root — это информация о владельце, а второй — информация о группе. В этом примере TestUnix имеет владельца root и корневую группу.
Подобно файлам, мы можем изменить владельца и группу для папок. Пример команды для этого:
Чтобы изменить только группу:
Чтобы изменить владельца и группу файла:
Эту же команду можно использовать для нескольких файлов или папок. Формат команды:
Пример такой команды:
Команда Chown для Ссылок
Команда Chown в Linux может использоваться для символических, или программных ссылок. Символическая ссылка — это ссылка на существующий физический файл. Для создания программных ссылок используется команда ln. Для файла chownSample.txt символическая ссылка может быть создана как:
Чтобы подтвердить владельца и информацию о группе, мы можем использовать команду ls -l. Вот, что мы получим в результате:
Доступны две записи. Одна для физического файла, а другая для символической ссылки. Давайте попытаемся изменить владельца с помощью следующей команды:
Приведённая выше команда сменит владельца файла chownSample.txt . Таким образом, вывод команды ls -l будет выглядеть так:
Если мы хотим изменить владельца символической ссылки, тогда нам нужно использовать параметр -h. Пример команды:
Если мы используем команду ls -l , результат будет таким, как показано ниже, где право собственности на символическую ссылку изменено:
Рекурсивная Смена Владельца с Помощью Chown в Linux
Команда chown может применяться к папкам, однако папки могут иметь рекурсивную структуру, а у нас может возникнуть необходимость сменить владельца для всех файлов и папок.
Рекурсивное использование команды chown гарантирует, что все каталоги и подкаталоги сменят владельца или группу.
Для рекурсивной операции нам нужно использовать опцию -R. Вот пример этой команды:
Если у нас есть папка с названием TestUnix, в которой находятся несколько подкаталогов, то приведённая ниже команда изменит владельца всех папок и подкаталогов на пользователя с именем whales.
Итоги
Вот и всё, теперь вы знаете, что такое команда chown в Linux и как она работает. Стоит отметить, что системы Unix имеют справочные страницы для каждой команды. Так что, если вы захотите полностью освоить возможности chown, откройте необходимое руководство с помощью команды man chown . Надеемся, что это поможет вам управлять вашими файлами VPS безопасным и эффективным способом. Удачной разработки!
Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.
Источник
Команда chown в Linux
В операционной системе Линукс множество пользователей и групп. При создании файла тот администратор, от чьего имени он был образован, становится его владельцем, который находится в собственной группе, но также может объединяться с другими.
Утилита сhown (ее название произошло от сочетания слов «change» и «mode») позволяет изменять владельца или группу у папок и файлов.
Когда меняется владелец, он получает возможность использовать иные возможности доступа и ограничить его для остальных администраторов. Подобное разрешение можно задавать при помощи чисел и символов.
Синтаксис
Рассмотрим синтаксис команды.
- USER (имя пользователя или идентификатор нового владельца)
- GROUP (название новой группы или ее индекс)
- FILE(s) (наименование одного или нескольких файлов, каталогов, ссылок).
- -c, —changes (подробный отчет о любых произошедших изменениях).
- -f, —silent, —quiet (сокращение данных, удаление сообщений о возможных неполадках).
- —dereference (поменять права для файла, помеченного символической ссылкой).
- -v, —verbose (используется для описания действий и вывода подробных данных о каждом обработанном файле).
- -h, —no-dereference (изменить полномочия касаемо символических ссылок, но оставить неизменными файлы, на которые они указывают).
- —from (изменить пользователя только для тех файлов, владельцем которых являются он и группа).
- -R, —recursive (последовательная обработка всех подкаталогов).
- -H (если передана символическая ссылка на каталог, перейти по ней).
- -L (переходить по всем символическим ссылкам на каталоги).
- -P (не переходить по символическим ссылкам на каталоги) (по умолчанию).
Примеры
Для первого примера изменим владельца «root» папки «katalog» на «ya». Для этого запустим команду без опций, укажем имя пользователя и путь к каталогу.
chown ya /root/katalog
- ya — имя пользователя;
- /root/katalog — полный путь до каталога katalog.
Меняем владельца и группу одновременно.
Чтобы изменить сразу владельца и группу необходимо применить двоеточие без промежуточных пробелов. Синтаксис данной процедуры такой: USER:GROUP KATALOG.
Для примера изменим владельца и group для каталога «katalog» на «ya» и «nogroup».
chown ya:nogroup /root/katalog
Тоже самое сделаем для документа «dokument».
chown ya:nogroup dokument
Бывают ситуации, когда нужно поменять только группу. Для этого, впереди нужно добавить «:». Поменяем группу документа «dokument» на «nogroup».
chown :nogroup dokument
Рекурсивно массово меняем права на папки и файлы
Чтобы последовательно (алгоритмически) проводить работу со всеми файлами и каталогами, используется аргумент -R (–recursive). Для удобства предварительно зайдем в целевую директорию с помощью команды cd.
Массово поменяем владельца и группу директории «primercataloga» включая вложенные папки и файлы.
Источник
Ubuntu Documentation
Candidate for Deletion
This article may not be appropriate for this wiki, and may be deleted. More info.
Содержание
Права доступа в системе Linux
Поскольку Linux (да и UNIX вообще) — многопользовательская OS, в ней существует система прав доступа к файлам, служащая для защиты файлов каждого пользователя от влияния других пользователей системы.
Права доступа подразделяются на три типа:
чтение (read)
запись (write)
выполнение (execute)
Разрешение на чтение позволяет пользователю читать содержимое файлов, а в случае каталогов — просматривать перечень имен файлов в каталоге (используя, например, команду ls). Разрешение на запись позволяет пользователю писать в файл, изменять его или удалять. Для каталогов это дает право cоздавать в каталоге новые файлы и каталоги, или удалять файлы в этом каталоге. Наконец, разрешение на выполнение позволяет пользователю выполнять файлы (как бинарные программы, так и командные файлы). Если на файле стоит атрибут Execute, то независимо от его расширения он считается программой, которую можно запустить. (Вот почему в *nix не принято ставить исполняемым файлам расширения по типу DOS’овских *.com, *.exe, *.bat. Вообще в Unix/Linux нет такого жесткого понятия расширение файла, как в Dos/Windows, и система сама определяет тип файлов независимо от их расширения, но это — уже другая история. ). Так же атрибут выполнения может стоять у shell-скриптов, CGI-скриптов, и у всего, что можно хоть как-то запустить. Разрешение на выполнение применительно к каталогам означает возможность выполнять команды вроде cd.
Эти типы прав доступа могут быть предоставлены для трех классов пользователей:
владельцы — у каждого файла в Linux’e есть один владелец.
группы — с каждым файлом связана группа пользователей этого файла.
остальные пользователи.
Владельцем файла становится юзер, который создал этот файл. Короче говоря, для файла все юзеры делятся на 3 типа: хозяин, или владелец, юзеры, состоящие в одной группе с владельцем, и все остальные юзеры. Для каждого типа — свои права. Учтите, что директории и все системные устройства в UNIX являются обычными файлами. Тот же самый /dev/fd0 — это не сам Floppy disk, а всего лишь файл, связанный с флопповодом. Поэтому, если root запретил юзеру доступ к этому файлу, тот не сможет использовать флопповод (так же обстоят дела с модемами, хардами и т.п.). Владельцем всех системных файлов является root. Он же имеет право забирать файлы у одного юзера и передавать их другому (менять владельца).
Команда chmod
Изменить права доступа к файлу может либо его владелец, либо сам root. Делается это командой chmod. Существует две формы представления прав доступа: символьная и цифровая.
Символьная форма прав доступа
Если войти в любой каталог, где есть файлы, и набрать ls -l, то появится список всех файлов в этом каталоге и права доступа в символьной форме. Строка прав доступа состоит из 10 символов. Первый символ указывает на тип файла: d — директория, — — обычный файл. Три последующих — права доступа владельца к этому файлу. Если первый символ из этих трех — r, владелец имеет право читать этот файл, а если —, то не имеет. Следующие 2 символа — w — писать и x — запускать. Если вместо них стоит —, значит, владелец этого права не имеет. Еще 3 символа — права доступа группы, еще три — права всех остальных пользователей.
drwxrwxrwx — директория, к которой все имеют любые права доступа.
-rwxr--r-- — обычный файл, владелец может делать все, а остальные — только читать.
-r-------- — обычный файл, который владелец может только читать, а остальные пользователи не видят.
Важно заметить, что права доступа, которые имеет файл, зависят также от прав доступа к каталогу, в котором этот файл находится. Например, даже если файл имеет -rwxrwxrwx, другие пользователи не смогут до него добраться, если у них не будет прав на чтение и выполнение каталога, в котором находится файл. Например, если юзер захочет ограничить доступ ко всем своим файлам, он может просто изменить права доступа своего домашнего каталога /home/user на drwx------. Таким образом, никто другой не будет иметь доступ в его каталог, а следовательно посторонним будут недоступны и все файлы. Так что, пользователь может не заботиться об индивидуальной защите своих файлов. Другими словами, чтобы иметь доступ к файлу, вы должны иметь доступ ко всем каталогам, лежащим на пути от корня к этому файлу, а также разрешение на доступ собственно к этому файлу. Обычно пользователи UNIX весьма открыты всеми своими файлами. По умолчанию файлам устанавливается защита -rw-r--r--, которая позволяет другим пользователям читать файлы, но ни коим образом их не менять. Каталогам обычно устанавливаются права доступа drwxr-xr-x, что позволяет другим пользователям ходить с правами экскурсантов по вашим каталогам, но ничего в них не трогать и не записывать.
Но многие пользователи хотят держать других подальше от своих файлов. Установив права доступа файла -rw-------, вы никому не покажете этот файл и не дадите записать в него. Также хорошо закрывает файлы защита соответствующего каталога drwx------.
С правами доступа в символьной форме chmod работает так:
Кратко, вы выбираете из all (все), user (пользователь), group (группа) или other (другие). Далее указываете, либо вы добавляете права (+), либо лишаете прав (—). И наконец, вы указываете один или несколько режимов: read, write или execute.
Числовая форма прав доступа
Теперь права доступа в числовой форме. Для некоторых эта форма может показаться более простой. Надо запомнить только следующее:
- 400 — владелец имеет право на чтение
- 200 — владелец имеет право на запись
- 100 — владелец имеет право на выполнение
- 40 — группа имеет право на чтение
- 20 — группа имеет право на запись
- 10 — группа имеет право на выполнение
- 4 — остальные имеют право на чтение
- 2 — остальные имеют право на запись
- 1 — остальные имеют право на выполнение
Теперь осталось только просуммировать числа, соответствующие тем правам доступа, которые мы хотим поставить файлу.
Примеры
Символьная форма
Дает всем пользователям право читать файл stuff.
То же самое, что и ранее (a — по умолчанию).
Лишает права на выполнение всех, кроме владельца.
Разрешает владельцу все (read, write и execute).
Запрещает все (read, write и execute) пользователям категории другие (other).
владелец может делать все, а остальные — только читать.
все имеют право только на чтение.
владелец может читать и выполнять, остальные — только выполнять.
Классическая команда. Скрипт — это исполняемый файл, и все должны иметь к нему доступ на чтение и выполнение. Только владелец этого файла может его изменять или удалять.
Команда chown
Изменение владельца файла осуществляется командой chown, например:
Для передачи каталога надо вводить:
Команда chgroup
Изменение группы, которой принадлежит файл.
Для передачи каталога надо вводить:
FilePermissionsRu (последним исправлял пользователь ckimes 2017-09-02 05:31:46)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details
Источник