Каждый файл и каталог в Linux имеют разрешения, которые определяют, кто может их читать (от англ. read), записывать (от англ. write) или выполнять (от англ. execute). Чтобы изменять эти права доступа, операционная система предоставляет инструмент командной строки chmod.
В этой статье мы расскажем, как использовать команду chmod в ОС Linux.
Содержание:
- Синтаксис команды chmod в Linux
- Символьный формат прав доступа chmod
- Проверка прав доступа к файлу
- Добавление и удаление прав доступа для конкретного пользователя
- Установка конкретных прав доступа к файлу
- Изменение прав доступа для нескольких категорий пользователей
- Управление правами доступа для всех пользователей ОС
- Назначение разных прав доступа разным категориям пользователей
- Выводы
Синтаксис команды chmod в Linux
Базовый синтаксис chmod в Linux выглядит следующим образом:
Где:
[options]— опции, которые расширяют функционал утилиты;mode— права доступа, которые нужно установить;file— путь к файлу.
Чтобы вывести на экран все опции команды chmod, выполните в терминале:
Символьный формат прав доступа chmod
Символьный формат — метод представления прав доступа к файлам, который предполагает использование букв. Конструкция команды chmod с использованием символьного формата выглядит следующим образом:
Здесь:
[who]— указывает, к кому применяется изменение разрешений:u— владелец файла (user);g— пользователи из группы, назначенную для файла (group);o— другие пользователи (others);a— все пользователи в ОС (all).
[operator]— указывает, каким образом нужно изменить права доступа:+— добавить;-— удалить;=— установить точно так, как указано (перезаписав существующие).
[permissions]— определяет, какие именно разрешения изменяются:r— чтение;w— запись;x— выполнение.
Также права доступа могут задаваться в восьмеричном и двоичном форматах, однако в этой статье мы подробно рассмотрим только символьный способ.
Читайте также: Просмотр прав доступа к файлам в восьмеричном формате в Linux.
Проверка прав доступа к файлу
Самый простой способ узнать, права доступа на файл в Linux — использовать команду ls с опцией -l. Например:
Набор прав доступа на файл записаны первыми в строке вывода. В нашем случае это — -rw-rw-r--. Давайте подробнее разберем разрешения:
- Первый символ — тип файла:
-— обычный файл.
- Следующие три (
rw-) — права доступа для владельца файла:r— читать;w— запись;-— не выполнять;
- Следующие три (
rw-) — права доступа для группы:r— читать;w— запись;-— не выполнять;
- Последние три (
r--) — права доступа для других пользователей:r— читать;-— нет записи;-— не выполнять.
Важно: наборы разрешений всегда записываются именно в таком порядке.
Добавление и удаление прав доступа для конкретного пользователя
Теперь перейдем к практической части статьи. Допустим, нам нужно добавить владельцу файла test.txt право на выполнение. Для этого в терминале следует выполнить в терминале:
Читайте также: Команда chown в Linux с примерами.
Аналогично, чтобы разрешить пользователям из группы, назначенной для test.txt, исполнять его, а остальным пользователям дать право записывать в этот файл, можно запустить команды:
Если же необходимо запретить остальным пользователям запись в файл test.txt, воспользуемся командой:
Установка конкретных прав доступа к файлу
С помощью утилиты chmod можно также задать точные права доступа для определенной категории пользователей, перезаписав текущие.
Например, если мы хотим, чтобы остальные пользователи ОС имели только право записи в файл test.txt, выполним в терминале:
На скриншоте выше видно, что команда удалила право на чтение для других пользователей и оставила только разрешение на запись.
Читайте также: Как установить права доступа (chmod) отдельно для папки / файла и всех ее подпапок / подфайлов в терминале.
Изменение прав доступа для нескольких категорий пользователей
Функционал утилиты chmod позволяет объединять символы для более эффективного управления правами доступа.
Например, можно одновременно разрешить владельцу файла и остальным пользователям записывать в файл. Чтобы это сделать, воспользуемся следующей командой:
Кроме того, нескольким категориям пользователей можно одновременно назначать (или удалять) несколько прав доступа. Например, разрешим владельцу файла test.txt и пользователям группы записывать в файл и запускать его:
Управление правами доступа для всех пользователей ОС
Допустим, нам нужно, чтобы все пользователи в нашей ОС Linux могли только читать файл test.txt. Такую задачу решить достаточно просто с помощью показанной ниже команды:
Читайте также: 5 команд для управления файлами в Linux.
Назначение разных прав доступа разным категориям пользователей
Как Вы, наверное, уже заметили, утилита chmod является довольно гибким инструментом. С ее помощью можно одновременно внести несколько изменений в права доступа к файлу.
Рассмотрим такой пример:
- добавим владельцу файла
test.txtправа на запись и выполнение; - разрешим пользователям группы только запись;
- удалим право на чтение для остальных пользователей.
Все эти изменения можно внести одной командой:
Выводы
Теперь Вы знаете, что такое утилита chmod в операционной системе Linux. Мы на практике показали, насколько широкий спектр задач она позволяет решать при управлении правами доступа к файлам.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.




































