Команда chmod в Linux
Linux, please
Команда chmod
Команда chmod предназначена для изменения прав доступа файлов и директорий в Linux. Название команды произошло от словосочетания «change mode».
Синтаксис команды chmod следующий:
chmod разрешения имя_файла
Разрешения можно задавать двумя способами:
- Числом
- Символами
Изменение прав доступа командой chmod
Запись прав доступа числом
Пример:
chmod 764 myfile
В данном формате права доступа задаются не символами rwx, как описано выше, а трехзначным числом. Каждая цифра числа означает определенный набор прав доступа.
- Первая цифра используется для указания прав доступа для пользователя.
- Вторая цифра для группы.
- Третья для всех остальных.
В таблице ниже приводятся все возможные комбинации разрешений rwx и соответсвующие им числа (которые используются в команде chmod):
ЧислоРазрешенияСимвольное обозначение0разрешения отсутствуют---1x — запуск--x2w — изменение-w-3x+w — запуск+изменение-wx4r — чтениеr--5r+x — чтение+запускr-x6r+w — чтение+изменениеrw-7r+w+x — чтение+изменение+запускrwxРассмотрим использование команды chmod с записью прав доступа числом на примере. Установим для файла права доступа 764:
chmod 764 myfile
Это означает (см. таблицу выше), что для файла 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Все пользователи могут читать, изменять и редактировать файл.Запись прав доступа символами
Примеры:
chmod +x myfile1 chmod g=rw myfile2 chmod u-w myfile3
Как вы можете видеть, в данном формате права доступа задаются символами rwx, но в синтаксисе используются и другие вспомогательные символы, например, математические операции «+» и «-» и такие символы как, например, «g» или «u».
Общий синтаксис можно записать примерно так:
chmod (владелец)(математическая операция)(разрешения) имя_файла
Обозначения для владельцев файла следующие:
ОбозначениеОписаниеuВладелец-пользователь.gГруппа.oВсе остальные.aВообще все.Математические операции означают следующее:
ОператорОписание+Добавляет к текущим правам доступа новое разрешение.-Удаляет из текущих прав доступа определенное разрешение.=Устанавливает полностью новые разрешения (предыдущие перезаписываются новыми).В одной команде можно перечислять владельцев и их разрешения через запятую (см. пример ниже).
Рассмотрим примеры:
chmod +x myfile1
- В данном случае мы не используем обозначения для владельцев, а значит разрешения устанавливаются для всех пользователей. «+x» означает — установить разрешение на запуск (x) файла для всех пользователей. Это эквивалентно выполнению команды: chmod a+x myfile1.
chmod g=rw myfile2
- Здесь используется обозначение g и символ равенства «=». Это означает, что для группы мы устанавливаем права доступа на чтение и запись файла (rw).
chmod u-w myfile3
- Для владельца файла (u) мы удаляем разрешение на изменение (w) файла.
chmod ug+x myfile2
- Разрешаем владельцу (u) и группе (g) запускать файл (x).
chmod u+x,g-w,o-r myfile3
- Это как раз тот случай, когда мы перечисляем владельцев через запятую и устанавливаем для них разрешения. Для владельца файла (u) мы разрешаем запуск файла, для группы (g) мы запрещаем изменять файл, для всех остальных (o) мы запрещаем читать файл.
Рекурсивное изменение прав доступа
Если необходимо изменить права доступа на все файлы в директории, включая вложенные директории, то для этого существует опция -R, что означает рекурсивное изменение прав доступа для директорий и их содержимого. Например, изменим права доступа у всех файлов в директории Mydir:
chmod -R 644 Mydir
И еще один момент. Если пользователь не является владельцем файла, но ему нужно изменить права доступа у данного файла, то команду chmod необходимо выполнять с использованием sudo, например:
sudo chmod 644 file
Спасибо за прочтение!

- ✅Основной канал - https://t.me/under_public
- 🏴☠️ Приватный канал - https://t.me/joinchat/AAAAAEmM-bkL9Pv7KLyL7w
- 🛒HackAli - cамые интересные хакерские товары с Aliexpress!
- 👨💻Termux, please - 100% termux
- 🐧Linux, please - всё о Linux
- 💭Чат - https://t.me/UnderChats
Также вы можете присылать ваши статьи в бота (оформляйте в телеграфе), я их просмотрю, если всё ОК - опубликую статью на канале с указанием автора.