Chmod chown chgrp linux

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 — изменить режим) имеет весьма специфический синтаксис. Синтаксис в общем случае:

но чем она характеризуется, так это тем, что изменение режима может принимать разные формы. Оно может быть указано двумя способами:

  1. в виде восьмеричного числа. Разрешения владельца при этом соответствуют числам в виде 00 , где соответствует назначаемому разрешению: 4 на чтение, 2 на запись и 1 на выполнение. Аналогично, разрешения группы владельца принимают вид 0 , а разрешения для «остальных» — . Затем, все что вам нужно сделать — так это найти сумму назначаемых разрешений, чтобы получить нужный режим. Так, разрешения rwxr-xr— соответствуют 400+200+100 (разрешения для владельца, rwx ) +40+10 (разрешения для группы, r-x ) +4 (разрешения для остальных, r— ) = 754; таким образом, разрешения выражаются через свободные члены. Это значит, что предыдущие разрешения безусловно заменяются;
  2. при помощи выражений. При этом разрешения выражаются через последовательность выражений, разделенных запятыми. Отсюда выражение принимает следующий вид: [категория] .

Категория может быть одной или более из:

  • 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— (т.е. разрешение на чтение для всех и разрешение на запись только для владельца), и сообщает только о тех файлах, которые были подвержены действию команды.

Утилиты обработки Файлов

Шаблоны универсализации в командном процессоре

Источник

Системный интегратор

chown, chgrp, chmod, umask. Права доступа к файлам и папкам в Linux.

Каждый файл или каталог в файловой системе Linux имеет Владельца и Группу владельцев. Разным пользователям предоставляются различные права доступа к файлу.

Для управления правами доступа к файлу используют команды chown, chgrp, chmod, umask.

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

где username — новый владелец файла index.html.

Сменить группу владельцев файла можно с помощью команды chgrp.

где groupname — новая группа владельцев файла index.html.

Вывести всю информацию о файлах текущего каталога поможет команда ls с ключом -l.

Предусмотренные стандартом POSIX-2001 типы файлов:

d каталог

b блочный специальный файл

c символьный специальный файл

l символьная ссылка

p канал

обычный файл (минус)

Права доступа к файлу (девять символов подряд без пробелов):

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

Изменить права доступа к файлу можно с помощью команды chmod. Аргументами команды chmod являются: u (владелец), g (группа), o (прочие), a (all) — заменяет ugo. Добавлению прав соответствует знак +, их удалению знак -. Знак = обозначает буквальное задание прав. Режим доступа обозначается буквой r, w или x. Можно группировать правила через запятую без пробелов.

Помимо прав на чтение, запись и выполнение, команда chmod позволяет устанавливать для пользователей право владения программами на время их выполнения, то есть, выполнять программу с правами ее настоящего владельца. Например, многими программами в системе владеет root, тогда как выполняют их обычные пользователи. Даже будучи запущенной от обычного пользователя такая программа сможет изменить файлы, принадлежащие root. Бит смены идентификатора пользователя обозначается буквой s (вместо x).

Кроме того, существует sticky-бит, который дает системе указание оставить программу в памяти после завершения ее выполнения для ускорения доступа. На наличие sticky-бита указывает буква t в позиции выполнение для прочих пользователей.

Команда umask (user file creation mode mask) устанавливает маску прав доступа для вновь создаваемых файлов. Маска может выводиться или устанавливаться в восьмеричной или символьной форме.

В восьмеричной форме — каждый установленный бит umask запрещает выставление соответствующего бита прав доступа. umask 0 предписывает выставлять все биты прав (rwxrwxrwx), umask 777 запрещает выставление любых прав.

Источник

Команда chmod в Linux


Команда chmod, команда chown и команда chgrp.

Команда chmod

Команда chmod предназначена для изменения прав доступа файлов и директорий в Linux. Название команды произошло от словосочетания «change mode».

Синтаксис команды chmod следующий:

Разрешения можно задавать двумя способами:

Изменение прав доступа командой chmod

Запись прав доступа числом

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

  • Первая цифра используется для указания прав доступа для пользователя.
  • Вторая цифра для группы.
  • Третья для всех остальных.

В таблице ниже приводятся все возможные комбинации разрешений rwx и соответсвующие им числа (которые используются в команде chmod):

Число Разрешения Символьное обозначение
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.

Источник

Читайте также:  Hplip linux что это
Оцените статью