Команда chmod в Linux — синтаксис и примеры

В операционной системе Linux для каждого файла и каталога есть свой набор правил, которые определяют кто и как может использовать документ. Даже просто запустить файл нужно определенные разрешения на запуск. Такие разрешения называются права доступа. Команда chmod (change mode) позволяет назначать их.

Что можно сделать с документом в Линуксе:

  • прочитать содержимое;
  • записать информацию;
  • запустить на выполнение.

Синтаксис

chmod [параметры] [права] путь

Основные параметры:

  • -c - показать информация обо всех изменениях.
  • -f - не показывать ошибки.
  • -v - вывод полной информации.
  • -R - рекурсивно обрабатывать файлы и каталоги.
  • --help - показать справочную информацию.
  • --version - информация о версии.

Применят часто символьную запись прав:

  • -r -  на чтение
  • -w - на запись
  • -x - на выполнение, права на запуск
  • -s - на выполнение от супер пользователя root.

ВАЖНО! Записывают права в таком порядке: чтение-->запись-->выполнение.

Категории пользователей:

  1. -u (owner) - владелец.
  2. -g (group) - группа.
  3. -o (others)- другие.

Каждый кто имеет доступ к документу имеет свой набор правил. Например владелец имеет неограниченный доступ, группа только писать, другие выполнять.

Чтобы прибавить права используется знак "+", убавить "-".
chmod ugo+rwx file

Вместо букв можно назначать права с помощью цифр от нуля до семи:

  • 0 - все запрещено
  • 1 - выполнение, разрешено запускать документ
  • 2 - запись, изменение.
  • 3 - выполнение и запись.
  • 4 - разрешено читать.
  • 5 - читать и выполнять
  • 6 - читать и писать
  • 7 - все разрешено, писать, читать, выполнять.

chmod 777 file

Здесь 777:

  1. первая цифра назначает разрешения для владельца документа;
  2. вторая цифра - для группы;
  3. третья  - для всех остальных.

change modeПримеры прав на директорию:

  • 744 - первая цифра говорит, что имеет полный доступ владельц, вторая цифра четыре - чтение для группы, третья цифра четыре - всем другим можно читать;
  • 765 - для владельца - полные права, для группы - читать, писать и другим читать, выполнять;
  • 774 - полный доступ для владельца, полный доступ для группы, чтение для остальных;
  • 777 - всем все разрешено.

Примеры

Назначим для файла test полный доступ всем.

chmod 777 test
Установка разрешенийЧтобы посмотреть какие права для файла test, выполним дополнительную команду ls, с ключом -l. Подробней о команде ls можно посмотреть здесь.

ls -l test
ls -l

На экране видим:

  1. -rwxrwxwx 1 - права доступа.
  2. Первый root - имя пользователя.
  3. Второй root - имя группы.
  4. 583 - размер файла test.
  5. test - название документа.

Сделаем тоже самое, только уже с помощью букв.

chmod ugo+rwx test
Здесь:

  • u - владелец;
  • g -группа;
  • o - остальные;
  • + - включить;
  • r - читать;
  • w - писать;
  • x - выполнять.

Создадим новый документ "logi" с помощью команды touch и разрешим любым пользователям выполнять его и изменять. За выполнение отвечает буква "х", за изменения "w".

touch logi

chmod ugo+wx logi

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

chmod 333 logi
Чтобы владельцу дать полный доступ, изменим первую цифру 3 на 7. Получается так:
chmod 733 logi
Дадим полный доступ всем, на каталог "catalog".

chmod 777 catalog

Чтобы дать разрешения 777 на папку и включая все ее содержимое, необходимо добавить звездочку. Получается так:

chmod 777 catalog/*
Теперь подкаталоги и файлы имеют 777.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*

code