Команда chmod в Linux с примерами

Команда chmod в Linux с примерами

Каждый файл и каталог в Linux имеют разрешения, которые определяют, кто может их читать (от англ. read), записывать (от англ. write) или выполнять (от англ. execute). Чтобы изменять эти права доступа, операционная система предоставляет инструмент командной строки chmod.

В этой статье мы расскажем, как использовать команду chmod в ОС Linux.

Содержание:

  1. Синтаксис команды chmod в Linux
  2. Символьный формат прав доступа chmod
  3. Проверка прав доступа к файлу
  4. Добавление и удаление прав доступа для конкретного пользователя
  5. Установка конкретных прав доступа к файлу
  6. Изменение прав доступа для нескольких категорий пользователей
  7. Управление правами доступа для всех пользователей ОС
  8. Назначение разных прав доступа разным категориям пользователей
  9. Выводы

Синтаксис команды chmod в Linux

Базовый синтаксис chmod в Linux выглядит следующим образом:

 

Где:

  • [options] — опции, которые расширяют функционал утилиты;
  • mode — права доступа, которые нужно установить;
  • file — путь к файлу.

Чтобы вывести на экран все опции команды chmod, выполните в терминале:

 

chmod help

Символьный формат прав доступа chmod

Символьный формат — метод представления прав доступа к файлам, который предполагает использование букв. Конструкция команды chmod с использованием символьного формата выглядит следующим образом:

 

Здесь:

  1. [who] — указывает, к кому применяется изменение разрешений:
    • u — владелец файла (user);
    • g — пользователи из группы, назначенную для файла (group);
    • o — другие пользователи (others);
    • a — все пользователи в ОС (all).
  2. [operator] — указывает, каким образом нужно изменить права доступа:
    • + — добавить;
    • - — удалить;
    • = — установить точно так, как указано (перезаписав существующие).
  3. [permissions] — определяет, какие именно разрешения изменяются:
    • r — чтение;
    • w — запись;
    • x — выполнение.

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

Читайте также: Просмотр прав доступа к файлам в восьмеричном формате в Linux.

Проверка прав доступа к файлу

Самый простой способ узнать, права доступа на файл в Linux — использовать команду ls с опцией -l. Например:

 

ls check permissions

Набор прав доступа на файл записаны первыми в строке вывода. В нашем случае это — -rw-rw-r--. Давайте подробнее разберем разрешения:

  1. Первый символ — тип файла:
    • - — обычный файл.
  2. Следующие три (rw-) — права доступа для владельца файла:
    • r — читать;
    • w — запись;
    • - — не выполнять;
  3. Следующие три (rw-) — права доступа для группы:
    • r — читать;
    • w — запись;
    • - — не выполнять;
  4. Последние три (r--) — права доступа для других пользователей:
    • r — читать;
    • - — нет записи;
    • - — не выполнять.

Важно: наборы разрешений всегда записываются именно в таком порядке.

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

Теперь перейдем к практической части статьи. Допустим, нам нужно добавить владельцу файла test.txt право на выполнение. Для этого в терминале следует выполнить в терминале:

 

user set execution

Читайте также: Команда chown в Linux с примерами.

Аналогично, чтобы разрешить пользователям из группы, назначенной для test.txt, исполнять его, а остальным пользователям дать право записывать в этот файл, можно запустить команды:

 

chmod group other new permissions

Если же необходимо запретить остальным пользователям запись в файл test.txt, воспользуемся командой:

 

delete permission

Установка конкретных прав доступа к файлу

С помощью утилиты chmod можно также задать точные права доступа для определенной категории пользователей, перезаписав текущие.

Например, если мы хотим, чтобы остальные пользователи ОС имели только право записи в файл test.txt, выполним в терминале:

 

grant only certain permissions

На скриншоте выше видно, что команда удалила право на чтение для других пользователей и оставила только разрешение на запись.

Читайте также: Как установить права доступа (chmod) отдельно для папки / файла и всех ее подпапок / подфайлов в терминале.

Изменение прав доступа для нескольких категорий пользователей

Функционал утилиты chmod позволяет объединять символы для более эффективного управления правами доступа.

Например, можно одновременно разрешить владельцу файла и остальным пользователям записывать в файл. Чтобы это сделать, воспользуемся следующей командой:

 

permissions to several users

Кроме того, нескольким категориям пользователей можно одновременно назначать (или удалять) несколько прав доступа. Например, разрешим владельцу файла test.txt и пользователям группы записывать в файл и запускать его:

 

several permissions for several users

Управление правами доступа для всех пользователей ОС

Допустим, нам нужно, чтобы все пользователи в нашей ОС Linux могли только читать файл test.txt. Такую задачу решить достаточно просто с помощью показанной ниже команды:

 

set permissions to all users

Читайте также: 5 команд для управления файлами в Linux.

Назначение разных прав доступа разным категориям пользователей

Как Вы, наверное, уже заметили, утилита chmod является довольно гибким инструментом. С ее помощью можно одновременно внести несколько изменений в права доступа к файлу.

Рассмотрим такой пример:

  • добавим владельцу файла test.txt права на запись и выполнение;
  • разрешим пользователям группы только запись;
  • удалим право на чтение для остальных пользователей.

Все эти изменения можно внести одной командой:

 

different user different permissions

Выводы

Теперь Вы знаете, что такое утилита chmod в операционной системе Linux. Мы на практике показали, насколько широкий спектр задач она позволяет решать при управлении правами доступа к файлам.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики