Изменение владельца файла в Linux
Чтобы изменить право собственности на файл, вы можете использовать команду chown. Вы можете легко догадаться, что chown означает владельца изменения.
Вы можете изменить владельца пользователя файла следующим образом:
chown <new_user_name> <filename>
Если вы хотите изменить пользователя и группу, вы можете использовать команду cown следующим образом:
chown <new_user_name>:<new_user_group> <filename>
Если вы просто хотите изменить группу, вы можете использовать команду chwon таким образом:
chown :<new_user_group> <filename>
или команду chgrp, специально используемую для изменения владельца группы файла или каталога. Вы можете догадаться, что команда chgrp означает группу изменений.
chgrp <new_user_group> <filename>
В нашем примере до сих пор, если вы хотите изменить владельца и группу пользователей на root, вы можете использовать команду chown следующим образом:
sudo chown root:root andreyex.txt
Это изменит право собственности на файл на root как для пользователя, так и для группы.
-rw-rw---- 1 root root 457 Aug 18 16:20 andreyex.txt
Заметьте, что нам пришлось использовать sudo с chown? Это связано с тем, что здесь задействован root, и чтобы справиться с корнем, вам нужны права суперпользователя.
Бонус Совет: Есть ли приоритет в разрешениях на файлы?
Подумайте о ситуации, когда обычный пользователь не имеет никаких разрешений, группа имеет разрешение на чтение, в то время как другие имеют права на чтение и запись.
----r--rw- 1 andreyex andreygroup 457 Aug 18 16:20 andreyex.txt
Теперь, если пользователь andreyex пытается прочитать файл с помощью команды cat или less, сможет ли он это сделать? Ответ – нет, потому что у него нет разрешения на чтение.
Но пользователь andreyex является частью группы andreygroup, и у группы есть доступ на чтение. Другой имеет право на чтение и запись. Это должно означать, что каждый (включая пользователя andreyex) может читать и писать файл, не так ли? Неправильно!
В Linux приоритет от пользователя, а затем от группы, а затем и от другого. Система Linux проверяет, кто инициировал этот процесс (в нашем примере cat или less). Если пользователь, инициировавший этот процесс, также является владельцем пользователя, устанавливаются биты прав пользователя.
Если владелец файла не инициировал этот процесс, система Linux проверяет группу. Если пользователь, инициировавший процесс, находится в той же группе, что и группа владельца файла, установлен бит групповых разрешений.
Если этот владелец процесса даже не входит в группу в качестве владельца группы файла, тогда устанавливаются другие биты разрешения.
Что еще?
Существуют некоторые расширенные разрешения для файлов, такие как установка Sticky bit для предотвращения удаления файлов и т. д.
Управление владением файлами
Это происходит в следующем порядке:
- Оболочка проверяет, являетесь ли вы владельцем файла, к которому вы хотите получить доступ. Если вы являетесь этим владельцем, вы получаете разрешения и оболочка прекращает проверку.
- Если вы не являетесь владельцем файла, оболочка проверит, являетесь ли вы участником группы, у которой есть разрешения на этот файл. Если вы являетесь участником этой группы, вы получаете доступ к файлу с разрешениями, которые для группы установлены, и оболочка прекратит проверку.
- Если вы не являетесь ни пользователем, ни владельцем группы, вы получаете права других пользователей (Other).
ls -l
lsfindfind -user
find users
chown
chown -R
chownchgrpchown.
chown
- chown lisa myfile1 устанавливает пользователя lisa владельцем файла myfile1.
- chown lisa.sales myfile устанавливает пользователя lisa владельцем файла myfile, а так же устанавливает группу sales владельцем этого же файла.
- chown lisa:sales myfile то же самое, что и предыдущая команда.
- chown .sales myfile устанавливает группу sales владельцем файла myfile без изменения владельца пользователя.
- chown :sales myfile то же самое, что и предыдущая команда.
chgrpchgrp
chown-Rchgrp
Изменение атрибутов и запрет на редактирование
Для смены атрибутов выбранного файла применяется команда chattr. Используя «+» можно добавить атрибут, а с помощью «-» наоборот его убрать. Для примера давайте возьмем:
# chattr +i /boot/grub/menu.lst
Введение такой команды приведет к тому, что файл нельзя редактировать, менять его имя или даже удалять. Установить атрибут «i» может лишь суперпользователь или процесс CAP_LINUX_IMMUTABLE. Удаление данного атрибута производится командой:
# chattr -i /boot/grub/menu.lst
Полезным является и атрибут «j». Он предназначен, чтобы вносимые в файл данные предварительно были записаны в журнал файловой системы. Функционировать такой атрибут будет только в системах, имеющих опции data=ordered или data=writeback. Если изначально использовано data=journal, то данные уже автоматически сохраняются и он ничего не изменит.
Прочие важные атрибуты:
- А — запрещает обновление записи atime, которая фиксирует время доступа к измененному файлу;
- с — атрибут, необходимый для сжатия содержащихся в файле данных, что удобно при необходимости экономить дисковое пространство;
- а — позволяет исключительно добавлять новые данные;
- D — моментальная запись информации на диск;
- d — опция создания резервной копии программой dump;
- u — упрощает восстановление случайно удаленного с диска файла;
- X и Z — экспериментальные атрибуты, используемые в служебных администраторских целях.
Для установки любого атрибута можно воспользоваться chattr, а посмотреть права на папку Linux пользователя получится командой lsattr. Другие атрибуты есть в справочнике — man chattr.
Популярные услуги
Linux сервер
Высокопроизводительные VPS сервера Linux на без KVM-виртуализации идеально подходят для крупных интернет-проектов. В сочетании с этой операционной системой серверные компьютеры демонстрируют хорошую производительность, а SSD хранилища данных способствуют увеличению их быстродействия. У нас вы сможете взять в аренду VPS и VDS Linux сервера.
Виртуальный дата-центр
Храните и получайте данные в любом объеме, в нужный момент масштабируясь под возрастающие нагрузки.
5、umask
Команда Указывает привилегия маска для предустановки при создании файла. После того, как существующая скорость доступа снижается, он может генерировать разрешение предустановленного при создании файла.
Популярные говоря, права доступа по умолчанию, генерируемые при создании новых файлов. Привилегированные биты не участвуют в вычитании, что привилегия установки привилегий. Последние 3 бита вычитается высшим разрешением, чтобы получить разрешение по умолчанию.
Высшим органом является 7777
Во-первых 7: Privilege, SUID, SGID, Sticky
Вторая 7: Владелец разрешение, RWX
В-третьих 7: Разрешения группы, RWX
Четвертый 7: Права доступа по умолчанию пользователя, RWX
Пример 1.
Набор маска разрешения
Создать каталог
разрешения запросов
Пример 2:
Набор маска разрешения
Создать каталог
разрешения запросов
Синтаксис и опции umask
Команда umask, как было сказано ранее, определяет битовую маску, которая будет применена к новым файлам. У команды довольно простой синтаксис и есть только несколько опций:
$ umask опции маска_в_восьмеричном_виде
Помимо маски в восьмеричном виде есть и способ задания прав по умолчанию схожий с синтаксисом команды chmod:
$ umask опции u=права,g=права,o=права
Опции утилиты:
- -p — вывести команду umask, которая при выполнении задаст текущую маску в восьмеричном виде;
- -S — вывести права по умолчанию для папки в формате u=rwx, g=rwx, o=rwx рассчитанные по текущей маске.
Посмотреть текущее значение маски можно двумя способами. Если команде передать опцию -p, то она выведет команду для установки текущей маски:
Параметр -S выводит текущие разрешения в формате u=rwx, g=rwx, o=rx, где х (выполнение) относится только к каталогам. Право на выполнение для файлов можно выдать только с помощью chmod.
Теперь рассмотрим способы задания маски:
Как видите, четвертую цифру можно опустить. Маску можно задать и с помощью более традиционных обозначений:
В отличие от битовой маски, таким способом прописываются разрешения, а не запреты. Иными словами, права задаются ровно так же, как и в chmod. В этом примере для категории other мы не указали никаких прав, таким образом запрещены все три операции. Для файлов, как и в случае с битовой маской, право на выполнение не выдаётся.
Группы прав можно объединять, или же задавать права сразу для всех категорий, использовав параметр a= (all).
Также имеется возможность работы с отдельными правами. Оператором + или — можно разрешить или запретить определённое действие, остальные биты в маске останутся нетронутыми.
Помимо прочего вы можете комбинировать два предыдущих способа. Например, разрешить пользователю все операции, а группе и остальным пользователям убрать право на чтение.
Переходим к самому интересному – применению команды на практике. Из очевидного стоит отметить добавление команды в какой-либо скрипт. Например, можно запретить изменение файлов, которые будут записаны в дальнейшем. Напомним, что команда будет действовать в пределах одной сессии терминала.
В этом примере при выполнении скрипта необходимо иметь маску по умолчанию, поэтому прописывается команда umask.
Другой пример использования не столь безопасный. Команда прописывается в конфигурационных файлах пользователя. Изменить маску для оболочки терминала можно добавлением строчки с командой umask в файле ~/.bashsrc. Это справедливо для дистрибутивов на основе Debian. В других дистрибутивах может потребоваться редактирование файла .profile.
Глобальные изменения оболочки вступят в силу после добавления строчки в файл /etc/bash.bashsrc. Но эта маска имеет меньший вес, чем та, что задаётся в домашнем каталоге. Впрочем, вы можете задать лишь необходимые права для пользователя, а остальные оставить из глобальной конфигурации. Например, для пользователя задать параметр g+w, что разрешит ему изменение файлов группы.
Изменение маски для всех программ системы – нетривиальная задача, которая потребует внесение множества правок. Поэтому вместо этого используют локальные права, установленные командой setfacl.
Общие понятия:
У каждого объекта в Linux есть свой идентификатор, а так же права доступа, применяемые к данному идентификатору. Идентификатор есть у пользователя — UID, у группы — GID, у файла — inod. Собственно inode является, как идентификатором файла/каталога, так и сущностью, которая содержит в себе информацию о файле/каталоге. Например такую, как: принадлежность к владельцу/группе, тип файла и права доступа к файлу.
Чтобы визуально лицезреть права доступа к файлу или каталогу, его тип и владельцев, а так же, если необходимо, и сам номер inode, необходимо выполнить следующую команду:
Print-server:/# ls -li итого 50 22089 drwxr-xr-x 2 root root 3072 Ноя 15 14:15 bin 32129 drwxr-xr-x 3 root root 1024 Окт 1 18:03 boot 12 lrwxrwxrwx 1 root root 11 Окт 1 15:36 cdrom -> media/cdrom 557 drwxr-xr-x 13 root root 3340 Ноя 17 06:25 dev 30121 drwxr-xr-x 50 root root 4096 Ноя 15 14:46 etc ....
Из вывода команды видно (рассмотрим первую строку):
22089
это есть номер inode
drwxr-xr-x
это есть те самые права доступа и тип файла (об этом ниже)
2
количество жестких ссылок на файл
root
имя владельца файла
root
имя группы владельца файла
3072
размер файла
Ноя 15 14:15
дата создания файла
bin
имя файла/каталога
Для каждого объекта файловой системы в модели полномочий Linux есть три типа полномочий: полномочия чтения (r от read), записи (w от write) и выполнения (x от execution). В полномочия записи входят также возможности удаления и изменения объекта. Право выполнения можно установить для любого файла. Потенциально, любой файл в системе можно запустить на выполнение, как программу в Windows. В Linux является ли файл исполняемым или нет, определяется не по его расширению, а по правам доступа. Кроме того, эти полномочия указываются отдельно для владельца файла, членов группы файла и для всех остальных.
Собрав вышесказанное в кучу, то есть представив 3 правила (rwx) для трех групп (владелец, группа, остальные) запись прав доступа будет выглядеть вот так: rwx rwx rwx(то есть владельцу разрешено чтение, выполнение и запись, группе разрешено то же самое и остальным). Рассмотрев права на папку /bin в выше приведенном листинге, можно представить такую картину:
drwxr-xr-x+ ||||||||||+наличие дополнительных прав (ACL) |||||||||+-исполнение для всех остальных - разрешено ||||||||+--запись для всех остальных - НЕ разрешено |||||||+---чтение для всех остальных - разрешено ||||||+----исполнение для группы владельца - разрешено |||||+-----запись для группы владельца - НЕ разрешено ||||+------чтение для группы владельца - разрешено |||+-------исполнение для владельца - разрешено ||+--------запись для владельца - разрешено |+---------чтение для владельца - разрешено +----------тип файла (об этом ниже...)
Кроме указанного представления полномочий доступа (символьного), существует так же и числовое представление. Для общего понимания, приведу таблицу соответствия числового (двоичного и десятичного) значения прав доступа и буквенного:
владелец | группа | остальные | |
буквенное | rwx | r-x | r— |
числовое (десятичное) | 421 | 401 | 400 |
итоговое | 7 | 5 | 4 |
В приведенной таблице показано, что право чтения, соответствует значению 4, право записи — 2, право выполнения — 1, отсутствие права — 0, складывая данные показатели, можно представлять и назначать права в числовом виде. Для примера, права rwx r-x r— будут соответствовать значению 754, потому что: rwx (4+2+1=7) r-x (4+0+1=5) r— (4+0+0=4). Так же, довольно распространена комбинация rw- (4+2+0=6). Думаю данный пример достаточно нагляден.
Examples
To view your system’s current umask value, enter the command:
umask
which returns your system’s umask as a four-digit octal number, for example:
0002
Again, the first zero is a special permission digit and can be ignored; for our purposes, 0002 is the same as 002.
To view this as a symbolic representation, use the -S flag:
umask -S
Which returns the same value symbolically, for example:
u=rwx,g=rwx,o=rx
where u stands for user, g stands for group, and o stands for other. This is telling us the So if we create a new file, it has the default permissions 664, which is 666 (the default permissions for files) masked by 002 (our umask value).
Let’s test this by creating a new file with the touch command:
touch testfile
And now let’s get a directory listing for that file:
ls -l testfile
-rw-rw-r-- 1 myusername myusername 0 Jan 7 14:29 testfile
As expected, the new file has permissions -rw-rw-r—, or 0664: The owner and group may read or write the file, and others may only read it.
Now let’s change the umask. To set a umask of 022, use the command:
umask 022
This is the same as running umask 0022; if you specify only three digits, the first digit will be assumed to be zero. Let’s verify that the change took place:
umask
0022
And now let’s create a new file:
touch testfile2
And now let’s view its directory listing, with the first file we created, using the asterisk wildcard («*«) to view all files whose name start with «testfile«:
ls -l testfile*
-rw-rw-r-- 1 myusername myusername 0 Jan 7 14:29 testfile -rw-r--r-- 1 myusername myusername 0 Jan 7 14:39 testfile2
As you can see, testfile2 has the permissions 644.
Here are some other example umask commands:
umask a+r
Sets the mask so that new files allows all users to read them; other permissions will be unchanged from the default.
umask a-x
Sets the mask so that new files will not initially be executable by any user; other default permissions unchanged from defaults.
umask u=rw,go=
Sets the mask so that new files will be readable and writable by the user who owns the file, but may not be executed; group members and others have no permissions to access the file.
umask 777
Make new files inaccessible to everyone — no one can read, write, or execute them.
umask 000
Make new files completely accessible (read, write, and execute) to absolutely everyone. However, this is a bad idea. Don’t do this.
Как работает umask
Команда umask задаёт маску прав для новых файлов и каталогов. При создании любого файла операционная система запрашивает маску прав и рассчитывает маску на основе неё. По умолчанию стоит маска 0002, Первая цифра ни на что не влияет и является пережитком синтаксиса языка C. Дальше цифры аналогичны правам доступа в Linux: первая — владелец, вторая — группа и третья — все остальные. Эта маска используется для расчета прав файла. Если не вдаваться в подробности, то рассчитывается всё довольно просто, от максимальных прав отнимается маска и получаются права для файла. Фактически, получается, что маска содержит права, которые не будут установлены для файла. Поэтому права по умолчанию для файла будут 666 — 002 = 664, а для каталога — 777 — 002 = 775.
Каждую цифру маски 002 можно перевести в двоичную систему. Последняя 2 описывает категорию other и в двоичной системе выглядит как 010. Биты читаются слева направо и описывают права rwx. В данном примере 1 означает запрет на запись, а нули разрешают чтение и выполнение. Если будет стоять битовая маска 100, то получится 4 в восьмеричной системе, то это будет означать запрет на чтение.
Важное замечание, что с помощью маски не получится разрешить выполнение файлов. Флаг x с помощью маски можно установить только для каталогов
Поскольку права файла рассчитываются на основе прав 666, в которых выполнение уже отключено rw-rw-rw, то маска тут уже ничего сделать не может. Зато для каталогов всё работает, потому что используются права 777. Для наглядности маску по умолчанию можно представить в виде таблицы:
Категория прав |
User |
Group |
Other |
||||||
Буквенное обозначение |
r |
w | x | r | w | x | r | — |
x |
Битовая маска | 1 | ||||||||
Маска в восьмеричном виде |
2 |
Нельзя не сказать и о том, что команда работает в пределах одной сессии терминала и не распространяется на всю систему и другие сессии.
Примеры использования chmod
Как уже говорилось ранее, параметр chmod – это удобный инструмент, позволяющий повысить безопасность системных файлов ОС и пользовательских данных за счет назначения прав доступа к каталогам и файлам.
Обратите внимание! Если пользователь обладает расширенными правами суперпользователя, то он сможет изменять полномочия любой директории ОС, принадлежащей любому юзеру. Обычный же пользователь такие операции сможет производить исключительно со своими данными
Смена полномочий может осуществляться несколькими способами. Наиболее распространенные – используя абсолютные и символьные режимы. С особенностями реализации каждого стоит ознакомиться более детально.
Символьный режим
По умолчанию значение прав доступа директории file – rwxrwxrwx – имеет полный доступ для всех. Далее, в зависимости от поставленной задачи, параметры можно изменять следующим образом:
- $ chmоd a-x (rw-rw-rw-) – параметр, ограничивающий доступ на редактирование для всех групп и юзеров.
- $ chmod go-w (rw-r—r—) – команда, запрещающая группам и остальным пользователям редактировать данные.
- $ chmоd u x (rwxr—r—) – разрешение на редактирования файла владельцем.
- $ chmod g=u (rwxrwxr—) – присваивание группе тех прав, которыми обладает владелец каталога или папки.
- $ chmоd go-rw (rwx—x—) – параметр, который ограничивает чтение и редактирование файлов пользователями группы и прочими юзерами.
Как задать параметры, используя символьные нотации в Линукс
Для использования перечисленных параметров пользователю достаточно просто подставлять свои значения.
Использование команд в абсолютном режиме
В данном режиме предусмотрено большее количество команд. Теперь более подробно об использовании каждой из них:
$ chmоd 777 (rwxrwxrwx) – команда, предоставляющая полный доступ к чтению, записи и редактированию данных всеми группами и юзерами.
$ chmod 666 (rw-rw-rw-) – предоставление разрешения на запись и чтение для владельца, группы и других пользователей.
$ chmоd 744 (rwxr—r—) – команда, предоставляющая полный доступ владельцу директории, и доступ к чтению группам и другим юзерам.
$ chmod 700 (rwx——) — команда, предоставляющая полный доступ владельцу директории, и ставящая запрет на доступ группам и другим пользователям.
$ chmоd 644 (rw-r—r—) – владелец файла имеет право читать и вести записи, остальные группы и пользователи имеют возможность только читать файлы.
$ chmod 640 (rw-r——) – команда, устанавливающая разрешение на запись и чтение файла владельцу и группе, для других юзеров доступ ограничен.
$ chmоd 444 (r—r—r—) – команда, которая устанавливает доступ к чтению для всех пользователей и отдельных групп.
$ chmod 755 (rwxr-xr-x) – открывает доступ владельцу для записи, чтения и редактирования владельцем, группы и другие юзеры могут только открывать файл в режиме чтения.
$ chmod 505 (r-x—r-x) – владелец файла имеет право на чтение и редактирование, для остальных пользователей доступ ограничен.
$ chmоd 755 * – команда, которая открывает все права доступа в текущем каталоге
Важно понимать, что юзер имеет неограниченные полномочия на все файлы конкретной директории, другие пользователи и группы могут только читать и редактировать файлы.
$ chmоd -R 777 * – рекурсивная команда, распространяющаяся на все подкаталоги.. В данном случае рассмотрены лишь основные параметры, но далеко не все
В данном случае рассмотрены лишь основные параметры, но далеко не все.
Установка прав при помощи чисел
Параметр chmod проще использовать, когда он представляется в виде одной восьмеричной цифры для каждой категории юзеров
Однако, в этом случае важно помнить, что обозначает каждая цифра:
- 0 – установлены одни ограничения, ничего не разрешено;
- 4 – пользователям, группам и остальным пользователя доступно только чтение;
- 5 – всем категориям юзеров разрешено только чтение и редактирование пользовательских/системных данных;
- 6 – разрешено чтение и запись данных;
- 7 – предоставляет всем категориям неограниченный доступ к директориям, то есть чтение, запись и исполнение.
В первом аргументе на картинке указано три цифры, которые обозначают следующее: первая – владелец директории, вторая – группы, а третья – прочих пользователей.
Как с помощью чисел установить права в ОС Linux
Команда chmod
Команда chmod предназначена для изменения прав доступа файлов и директорий в Linux. Название команды произошло от словосочетания «change mode».
Синтаксис команды chmod следующий:
Разрешения можно задавать двумя способами:
- Числом
- Символами
Запись прав доступа числом
Пример:
В данном формате права доступа задаются не символами rwx, как описано выше, а трехзначным числом. Каждая цифра числа означает определенный набор прав доступа.
- Первая цифра используется для указания прав доступа для пользователя.
- Вторая цифра для группы.
- Третья для всех остальных.
В таблице ниже приводятся все возможные комбинации разрешений rwx и соответсвующие им числа (которые используются в команде chmod):
Число | Разрешения | Символьное обозначение |
---|---|---|
разрешения отсутствуют | — | |
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 мы устанавливаем права доступа 764, которые означают:
- 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, например: