CHMOD Калькулятор

Генератор прав доступа в числовом и символьном форматах. Все опции включены (рекурсивно, sticky и др.). Команда готова к копированию в терминал за секунды.

Права владельца (u) Права группы (g) Права других (o)
Чтение (4)
Запись (2)
Выполнение (1)
Дополнительные опции



Числовой режим:
chmod 777 файл
Символьный режим:
chmod a+rwx файл

Права доступа для 777

Права владельца

  • Чтение
  • Запись
  • Выполнение

Права группы

  • Чтение
  • Запись
  • Выполнение

Права других

  • Чтение
  • Запись
  • Выполнение

Что такое chmod?

Chmod означает ‘change mode’ и изменяет режимы доступа к файлам или каталогам (способ доступа к файлу). Вы можете использовать chmod в командной строке для изменения прав доступа к файлам или каталогам на системах Unix или Unix-подобных, таких как Linux или BSD.

Как использовать chmod?

Вы можете изменить права доступа к файлу в следующем формате:

chmod [опции] [режим] [имя_файла]

Вы можете изменять права доступа с использованием буквенно-цифровых символов (a+rwx) или восьмеричных чисел (777).

Вот пример использования chmod для установки прав доступа такими образом:

  1. Владелец может читать, записывать и выполнять файл
  2. Группа может читать, записывать и выполнять файл
  3. Другие могут читать, записывать и выполнять файл

Пример chmod (буквенно-цифровой): chmod a+rwx
Пример chmod (восьмеричный): chmod 777

Что такое права доступа?

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

Существует три типа пользователей:

  1. User, то есть владелец файла
  2. Group, то есть группа владельца файла
  3. Other, то есть все остальные

Каждому из этих типов пользователей могут быть предоставлены три типа доступа к файлу:

  1. Чтение (r), то есть возможность просматривать содержимое файла
  2. Запись (w), то есть возможность изменять содержимое файла
  3. Выполнение (x), то есть возможность запускать содержимое файла

Права доступа к файлу могут быть представлены буквенно-цифровым способом (с использованием символов, таких как r для чтения, w для записи и x для выполнения) или восьмеричными числами (например, 755).

Опции chmod

Вы можете расширить права доступа chmod с помощью опций.

Наиболее популярные опции:

  • -r для ‘рекурсивного’ применения тех же прав в подкаталогах
  • -f для ‘принуждения’, продолжать работу даже при возникновении ошибок
  • -v для подробного вывода, показывать обработанные объекты
Тег Описание
-f, --silent, --quiet Подавлять большинство сообщений об ошибках
-v, --verbose Выводить диагностику для каждого обработанного файла
-c, --changes Как в подробном выводе, но сообщать только при изменении
--reference=RFile Использовать права доступа RFile вместо значений MODE
-R, --recursive Изменять файлы и каталоги рекурсивно
--help Показать справку и выйти
--version Вывести информацию о версии и выйти

Специальные режимы chmod

Setuid и setgid

Setuid и setgid (сокращения от 'установить ID пользователя при выполнении' и 'установить ID группы при выполнении' соответственно) — это флаги прав доступа Unix, которые позволяют пользователям запускать исполняемые файлы с правами владельца или группы файла соответственно и изменять поведение в каталогах. Они часто используются для того, чтобы позволить пользователям на компьютерной системе запускать программы с временно повышенными привилегиями для выполнения конкретной задачи. Хотя предоставляемые предполагаемыми ID пользователя или группы привилегии не всегда повышены, по крайней мере они специфичны.

Setuid для каталога

Право setuid, установленное на каталог, игнорируется в системах UNIX и Linux.

Setgid для каталога

Установка права setgid на каталог ('chmod g+s') приводит к тому, что новые файлы и подкаталоги, созданные внутри него, наследуют его групповой идентификатор, а не основной групповой идентификатор пользователя, создавшего файл (идентификатор пользователя никогда не изменяется, изменяется только групповой идентификатор). Новые подкаталоги наследуют право setgid. Таким образом, это позволяет создать общий рабочий пространство для группы без необходимости требовать от членов группы явно изменять свою текущую группу перед созданием новых файлов или каталогов. Обратите внимание, что установка права setgid на каталог влияет только на групповой идентификатор новых файлов и подкаталогов, созданных после установки права setgid, и не применяется к существующим объектам.

Chmod в числовом режиме (восьмеричный)

Восьмеричное число Права доступа Как видно в списке файлов
7 чтение, запись и выполнение rwx
6 чтение и запись rw-
5 чтение и выполнение r-x
4 только чтение r--
3 запись и выполнение -wx
2 только запись -w-
1 только выполнение --x
0 нет ---

Примеры chmod в восьмеричном режиме

Доступен только для чтения владельцем

$ chmod 400 chmodExampleFile.txt

Доступен только для чтения группой

$ chmod 040 chmodExampleFile.txt

Доступен только для чтения всеми

$ chmod 004 chmodExampleFile.txt

Доступен только для записи владельцем

$ chmod 200 chmodExampleFile.txt

Доступен только для записи группой

$ chmod 020 chmodExampleFile.txt

Доступен только для записи всеми

$ chmod 002 chmodExampleFile.txt

Доступен только для выполнения владельцем

$ chmod 100 chmodExampleFile.txt

Доступен только для выполнения группой

$ chmod 010 chmodExampleFile.txt

Доступен только для выполнения всеми

$ chmod 001 chmodExampleFile.txt

Разрешить чтение владельцу и группе и всем.

$ chmod 444 chmodExampleFile.txt

Разрешить всем читать, записывать и выполнять файл.

$ chmod 777 chmodExampleFile.txt

Chmod в символическом режиме

Режим Описание
r Чтение
w Запись
x Выполнение
Цель Описание
u Пользователь / владелец
g Группа
o Другие
a Все

Примеры chmod в символическом режиме

Запретить выполнение всем.

$ chmod a-x chmodExampleFile.txt

Разрешить чтение всем.

$ chmod a+r chmodExampleFile.txt

Сделать файл доступным для чтения и записи группой и другими.

$ chmod go+rw chmodExampleFile.txt

Сделать скрипт исполняемым для пользователя/владельца.

$ chmod u+x chmodExampleScript.sh

Разрешить всем читать, записывать и выполнять файл и включить set group-ID.

$ chmod =rwx,g+s chmodExampleScript.sh