- Chmod chown chgrp linux
- Обработка атрибутов файлов
- chown, chgrp: Изменение владельца и группы для одного или более файлов
- chmod: Изменение разрешений файлов и каталогов
- Системный интегратор
- chown, chgrp, chmod, umask. Права доступа к файлам и папкам в Linux.
- Команда chmod в Linux
- Команда chmod
- Изменение прав доступа командой chmod
- Запись прав доступа числом
- Запись прав доступа символами
- Рекурсивное изменение прав доступа
- Видео-обзор команды chmod
- Команда chown — изменение владельца и группы
- Команда chgrp — изменение группы
- Резюме
Chmod chown chgrp linux
Библиотека сайта rus-linux.net
Обработка атрибутов файлов
Глава 3. Введение в командную строку
Обработка атрибутов файлов
Ряд показанных здесь команд используется для изменения владельца или группы владельца файла или его разрешений. Мы рассматривали различные разрешения в главе Основные понятия системы UNIX .
chown, chgrp: Изменение владельца и группы для одного или более файлов
Синтаксис команды chown (CHange OWNer — изменить владельца) выглядит следующим образом:
- -R : рекурсия. Для изменения владельца для всех файлов и подкаталогов в указанном каталоге.
- -v : подробный режим. Показывает все действия, выполняемые chown ; сообщает, у каких файлов были изменены владельцы в результате выполнения команды, а какие файлы остались без изменений.
- -c : подобна опции -v , но сообщает только о тех файлах, что были изменены.
- chown nobody /shared/book.tex : изменяет владельца файла /shared/book.tex на nobody .
- chown -Rc queen:music *.mid concerts/ : изменяет владельца всех файлов в текущем каталоге, чьи имена заканчиваются на .mid , и всех файлов и подкаталогов в каталоге concerts/ на пользователя queen и группу music , сообщая только о тех файлах, которые были затронуты командой.
Команда chgrp (CHange GRouP — изменить группу) позволяет вам изменить группу владельца для файла (или файлов); ее синтаксис очень похож на синтаксис команды chown:
Опции для этой команды такие же, как и у chown, и она используется очень похожим способом. Так, команда:
изменяет группу владельца всех файлов в каталоге /dev/ с именами, начинающимися с hd , на группу disk .
chmod: Изменение разрешений файлов и каталогов
Команда chmod (CHange MODe — изменить режим) имеет весьма специфический синтаксис. Синтаксис в общем случае:
но чем она характеризуется, так это тем, что изменение режима может принимать разные формы. Оно может быть указано двумя способами:
- в виде восьмеричного числа. Разрешения владельца при этом соответствуют числам в виде 00 , где соответствует назначаемому разрешению: 4 на чтение, 2 на запись и 1 на выполнение. Аналогично, разрешения группы владельца принимают вид 0 , а разрешения для «остальных» — . Затем, все что вам нужно сделать — так это найти сумму назначаемых разрешений, чтобы получить нужный режим. Так, разрешения rwxr-xr— соответствуют 400+200+100 (разрешения для владельца, rwx ) +40+10 (разрешения для группы, r-x ) +4 (разрешения для остальных, r— ) = 754; таким образом, разрешения выражаются через свободные члены. Это значит, что предыдущие разрешения безусловно заменяются;
- при помощи выражений. При этом разрешения выражаются через последовательность выражений, разделенных запятыми. Отсюда выражение принимает следующий вид: [категория] .
Категория может быть одной или более из:
- u ( User — пользователь), разрешения для пользователя;
- g ( Group — группа), разрешения для группы владельца;
- o ( Others — остальные), разрешения для «остальных».
Если категория не указана, изменения применяются ко всем категориям. + добавляет разрешение, — удаляет разрешение и = устанавливает разрешение. И, наконец, разрешение является одним или более из следующих:
Главные опции полностью идентичны опциям команд chown и chgrp:
- -R : рекурсивное изменение разрешений.
- -v : подробный режим. Показывает выполняемые действия для каждого файла.
- -c : подобна опции -v , но сообщает только о тех файлах, которые были подвержены действию команды.
- chmod -R o-w /shared/docs : рекурсивно удаляет разрешение на запись для остальных у всех файлов и подкаталогов в каталоге /shared/docs/ .
- chmod -R og-w,o-x private/ : рекурсивно удаляет разрешение на запись для группы и остальных у всего каталога private/ , и удаляет разрешение на выполнение для остальных .
- chmod -c 644 misc/file* : изменяет разрешения для всех файлов в каталоге misc/ , чьи имена начинаются с file на rw-r—r— (т.е. разрешение на чтение для всех и разрешение на запись только для владельца), и сообщает только о тех файлах, которые были подвержены действию команды.
Число | Разрешения | Символьное обозначение |
---|---|---|
0 | разрешения отсутствуют | — |
1 | x — запуск | —x |
2 | w — изменение | -w- |
3 | x+w — запуск+изменение | -wx |
4 | r — чтение | r— |
5 | r+x — чтение+запуск | r-x |
6 | r+w — чтение+изменение | rw- |
7 | r+w+x — чтение+изменение+запуск | rwx |
Рассмотрим использование команды chmod с записью прав доступа числом на примере. Установим для файла права доступа 764:
Это означает (см. таблицу выше), что для файла myfile мы устанавливаем права доступа 7 6 4 , которые означают:
- 7 — права для владельца-пользователя. Владелец файла может читать, изменять и запускать файл (r+w+x).
- 6 — права для группы. Пользователи, которые принадлежат группе могут читать и изменять файл (r+w).
- 4 — права для всех остальных. Все остальные могут только читать файл (r).
Если записать 764 с помощью символов (см. таблицу), то мы получим: «rwxrw-r-».
В таблице ниже приведены некоторые часто используемые значения числовых значений прав доступа:
Числовое обозначение | «rwx»-обозначение | Описание |
---|---|---|
400 | -r——— | Владелец файла может только читать файл. Для всех остальных все действия с файлом запрещены. |
644 | -rw-r—r— | Все пользователи могут читать файл. Владелец может изменять файл. |
660 | -rw-rw—- | Владелец и группа могут читать и изменять файл. Для всех остальных все действия с файлом запрещены. |
664 | -rw-rw-r— | Все могут читать файл. Владелец и группа могут изменять. |
666 | -rw-rw-rw- | Все могут читать и изменять файл. |
700 | -rwx—— | Владелец может читать, изменять и запускать файл. Для всех остальных все действия с файлом запрещены. |
744 | -rwxr—r— | Все могут читать файл. Владелец может также изменять и запускать файл. |
755 | -rwxr-xr-x | Все могут читать и запускать файл. Владелец может также изменять файл. |
777 | -rwxrwxrwx | Все пользователи могут читать, изменять и редактировать файл. |
Запись прав доступа символами
Как вы можете видеть, в данном формате права доступа задаются символами rwx, но в синтаксисе используются и другие вспомогательные символы, например, математические операции «+» и «—» и такие символы как, например, «g» или «u».
Общий синтаксис можно записать примерно так:
Обозначения для владельцев файла следующие:
Обозначение | Описание |
---|---|
u | Владелец-пользователь. |
g | Группа. |
o | Все остальные. |
a | Вообще все. |
Математические операции означают следующее:
Оператор | Описание |
---|---|
+ | Добавляет к текущим правам доступа новое разрешение. |
— | Удаляет из текущих прав доступа определенное разрешение. |
= | Устанавливает полностью новые разрешения (предыдущие перезаписываются новыми). |
В одной команде можно перечислять владельцев и их разрешения через запятую (см. пример ниже).
В данном случае мы не используем обозначения для владельцев, а значит разрешения устанавливаются для всех пользователей. «+x» означает — установить разрешение на запуск (x) файла для всех пользователей. Это эквивалентно выполнению команды: chmod a+x myfile1 .
Здесь используется обозначение g и символ равенства «=». Это означает, что для группы мы устанавливаем права доступа на чтение и запись файла (rw).
Для владельца файла (u) мы удаляем разрешение на изменение (w) файла.
Разрешаем владельцу (u) и группе (g) запускать файл (x).
Это как раз тот случай, когда мы перечисляем владельцев через запятую и устанавливаем для них разрешения. Для владельца файла (u) мы разрешаем запуск файла, для группы (g) мы запрещаем изменять файл, для всех остальных (o) мы запрещаем читать файл.
Рекурсивное изменение прав доступа
Если необходимо изменить права доступа на все файлы в директории, включая вложенные директории, то для этого существует опция -R, что означает рекурсивное изменение прав доступа для директорий и их содержимого. Например, изменим права доступа у всех файлов в директории Mydir:
И еще один момент. Если пользователь не является владельцем файла, но ему нужно изменить права доступа у данного файла, то команду chmod необходимо выполнять с использованием sudo, например:
Видео-обзор команды chmod
Команда chown — изменение владельца и группы
Для изменения владельца и группы файла используется команда chown.
Для изменения владельца файла используется следующий синтаксис:
Например, установим для файла myfile нового владельца vasya:
Для изменения владельца и группы файла используется следующий синтаксис:
Например, установим для файла myfile нового владельца vasya и группу sambashare:
Команда chgrp — изменение группы
Есть еще одна команда — chgrp. Она позволяет изменить только группу. Например:
Резюме
В Linux у каждого файла есть права доступа — это разрешения, владелец и группа.
Разрешения задаются для владельца, группы и для всех остальных.
Есть три вида разрешений — r — чтение, w — изменение, x — запуск.
Чтобы изменить разрешения у файла используется команда chmod.
Чтобы изменить владельца или группу используется команда chown.
Чтобы изменить группу используется chgrp.
Источник