
Что может chmod: как управлять доступами к файлам и папкам в Linux
Статья
Время чтения
5 минут
Эффективное управление файлами и папками в операционной системе Linux невозможно без команды chmod. Эта команда определяет, кто и что может делать с объектами системы, помогая сохранять данные в целости и сохранности. О том, как применять команду chmod, легко и без проблем управлять доступами к элементам Linux с ее помощью, поговорим в этой статье.
Зачем нужна команда chmod
Команда chmod позволяет выдавать права доступа к файлам и папкам в Linux, а также тонко их настраивать с помощью битов защиты SetUID, SetGID и Sticky bit.
Название chmod — результат слияния слов в словосочетании change mode, которое переводится как «изменить режим».
Проще говоря, именно с ее помощью одному пользователю можно разрешить просматривать файлы в каталоге, а другому — позволить вносить в этот каталог изменения.
Обычно при настройке сервера с Linux команда chmod используется как один из инструментов поддержания безопасности данных и помогает реализовывать внутреннюю политику компании.
Права доступа
Права доступа к файлам и каталогам Linux бывают трех типов:
r — читать (read) — дает возможность просматривать файлы или каталоги;
w — записывать (write) — разрешает создавать, удалять и изменять их;
x — выполнять (execute) — позволяет входить в каталоги или выполнять файлы.
Все вышеуказанные типы доступа могут быть назначены основным видам пользователей системы. Их тоже три:
владельцы файла или каталога;
группы пользователей, обладающие правами на файл или каталог;
другие юзеры.
В итоге понять, кто и что может делать с тем или иным объектом системы, помогает символьная комбинация.

Например, сочетание rwxrw-r-- значит, что владелец наделен всеми правами на доступ к файлу, группа пользователей может его читать и выполнять, а остальные — только читать.
Синтаксис chmod и дополнительные параметры команды
Вне зависимости от того, какой из дистрибутивов Linux в работе, команда chmod универсальна и следует единым принципам. В общем виде она выглядит так:
chmod [опции] режим имя_файла
Тут мы видим следующие составляющие:
опции — необязательные флаги chmod;
режим — набор разрешений, который нужно задать для элемента системы;
имя_файла — название файла или папки.
Опции
Теперь давайте чуть подробнее поговорим про то, какие опции команда chmod может применять к файлам и каталогам. Наиболее востребованными считаются:

Режим
Режим (mode) выступает ключевой сущностью команды chmod. Он характеризует модель прав доступа для трех категорий пользователей — владельца элемента системы, группы владельцев и остальных юзеров — и может быть представлен в виде символов или чисел.
Как узнать доступные разрешения
Is. Чтобы узнать актуальные разрешения системы, применяют команду ls. Ее удобно задавать совместно с флагом -l. Вместе они выводят перечень файлов и каталогов с данными об их разрешениях:
ls -l
Вся команда целиком может выглядеть так:
-rw-r--r-- 1 root root 46 Apr 14 16:37 example.txt
drwxr-xr-x 2 root root 4096 Apr 18 12:52 prac
В этом выводе:
-rw-r--r-- и drwxr-xr-x — это доступные разрешения;
префикс d в начале второй строки указывает на то, что это директория;
последующие столбцы содержат сведения о количестве жестких ссылок, владельце, группе, размере, времени последнего изменения и имени файла или директории.
В терминале Linux команды будут выглядеть следующим образом:

Getfacl. Другой способ просмотреть доступные права на файл — команда getfacl. С ней можно вывести список разрешений для определенного элемента.
Команда выглядит так:
# file: file1.txt
# owner: administrator
# group: group1
user::rw-
group::r--
other::r–
В итоге понимаем, что у текстового файла file1 владельцу открыт доступ на чтение и запись, у группы и остальных пользователей — только разрешение на чтение.
Как изменять разрешения
Когда нужно обновить права доступа для файлов и каталогов через использование chmod, применяют так называемую символьную или числовую нотацию. О каждой из них чуть подробнее поговорим ниже.
Символьная нотация
Наиболее распространенный подход для указания разрешений — символьный. Он популярен за счет более удобного и читаемого ввода команд. При его использовании владелец составляет сочетание из букв и символов, чтобы указать системе, что ей делать с разрешением.
Применение символьной нотации подразумевает ввод:
chmod [ugoa] [+-=] [rwx] файл(ы)
В этом вводе:
[ugoa] — юзер или группа юзеров, к которым применяются изменения;

[+-=] — действия, которые нужно сделать с элементом системы;

[rwx] — сочетание прав:

Числовая нотация
При использовании числового подхода также указывают доступные разрешения файлов и директорий, но через комбинации цифр, где:
первая — доступные разрешения для владельца;
вторая — права доступа для группы;
третья — доступ к файлам для остальных пользователей.
Цифры рассчитываются путем сложения значений отдельных разрешений:

К примеру, если владельцу нужны права доступа для чтения и записи файла, группе — для чтения, записи и выполнения, а всем остальным — только для чтения, то команда будет такой:
chmod 674 [имя_файла]
Она расшифровывается следующим образом:
6 (4+2) — владелец файла обладает разрешениями на чтение и запись;
7 (4+2+1) — группа располагает доступами к чтению, записи и выполнению;
4 — другие пользователи имеют разрешение только на чтение.
Рекурсивное применение chmod
Иногда нужно одновременно обновить права для разных элементов. Для этого действия в Linux есть отдельная опция — рекурсивное изменение разрешений. Чтобы ею воспользоваться, необходимо совместно с командой chmod применить флаг -R (-recursive).
Например:
chmod -R 755 каталог
Такая команда установит права -rwxr-xr-x для всех файлов и подкаталогов внутри указанного каталога.
Как используется ключ --reference
Ключ --reference в команде chmod дает возможность скопировать права доступа из объекта системы в другой. Это может потребоваться, если нужно согласовать разрешения между элементами.
На практике ключ используется таким образом:
chmod --reference=референсный_файл_целевой_файл
Здесь:
--reference=референсный_файл — то, откуда копируются разрешения;
целевой_файл — файл, которому передаются те же права доступа, что и у референса.
При этом важно помнить, что ключ --reference не добавляет права доступа, а полностью дублирует те, что есть.
Как отменить изменения, внесенные командой chmod
Для отмены любых изменений следует снова воспользоваться командой chmod, указав верные права доступа.
Алгоритм действий такой:
Определите правильные доступы и снова укажите команду chmod. Например, если необходимо отменить изменения на rw-r--r--, то числовое значение будет 644 (чтение = 4, запись = 2).
Откройте каталог и напишите указанную команду:
chmod 644 [имя_файла_или_каталога]
Рассмотрим процесс на примере.
Предположим, что имя нашего файла — a.txt. Тогда используем ls -l a.txt для отображения всех разрешений, которые есть у a.txt:

Далее возвращаем или отменяем изменения:

Итоги
Команда chmod пригодится для управления правами доступа к файлам и каталогам в любом из дистрибутивов Linux. Она универсальна и помогает как при работе на собственном железе, так и на арендованном VPS/VDS сервере.
Чтобы менять разрешения с помощью chmod, можно использовать не только основной синтаксис команды, но и дополнительные возможности в виде символьных и числовых нотаций. Это позволяет гибко настраивать ролевую модель системы и всегда иметь уверенность в том, что ценные данные надежно защищены.
Вам может понравиться


Cloud.ru и AI: как мы поддержали выход Wildberries на новый рынок

Какие новости за февраль и март — дайджест Cloud.ru

INSERT INTO SQL: примеры добавления данных в таблицу

Node.js на Ubuntu 24.04: как установить и настроить

Что такое HTTPS и как он защищает ваши данные

REST API: что это и как использовать

Как создать Telegram Web App: инструкция по разработке Mini App

Как привлекать клиентов и зарабатывать до 20% на рекомендациях: готовые инструменты

Коды ошибок HTTP: что нужно знать о серверных и клиентских ошибках

Лучшие дистрибутивы Linux: выбор популярных версий

Система управления базами данных (СУБД): что это такое и зачем нужна

Все о Telegram-ботах: какие бывают и как их сделать самому

VPS/VDS: что это такое и чем они отличаются? Полное руководство

Что такое NVMe и как он отличается от SATA SSD и M.2

Микросервисная архитектура: чем она хороша и кому нужна

Как развернуть WordPress в облаке: инструкция для новичков

Применение LLM в бизнесе: опыт лидеров и роль облачного провайдера

Центры обработки данных (ЦОД): что это и как они работают

Какие новости за январь — дайджест Cloud.ru

Команда grep в Linux: как искать строки и шаблоны

PostgreSQL: что это за СУБД и чем она хороша

Как узнать IP-адрес в Linux через командную строку

Как узнать IP-адрес своего компьютера

Система MySQL: что это и для чего нужна

Команды kill и killall в Linux: как завершить ненужные процессы

Работа с файлами в Linux: их создание и организация через терминал

Стандарт Tier III для дата-центра: что значит и почему это круто

Какие новости за декабрь и начало января — дайджест Cloud.ru

Что такое FTP-протокол и как настроить FTP сервер

Белые и серые IP, динамические и статические - в чем различие

Как защищать сайты и приложения в облаке от DDoS-атак

Какие новости за ноябрь — дайджест Cloud.ru

BAT-файлы: что это такое, зачем они нужны и как их создавать

Гайд по протоколу HTTP: расшифровка, структура и механизм работы

Межсетевой экран, firewall и брандмауэр: что это, в чем между ними разница и зачем они нужны

Kubernetes на Cloud.ru Evolution: возможности и преимущества

Какие новости за октябрь — дайджест Cloud.ru

Как создать сетевую архитектуру для размещения межсетевых экранов на платформе Облако VMware

Рассказать про технологии лампово, или Как мы провели конференцию GoCloud Tech для инженеров и...

Какие новости за сентябрь — дайджест Cloud.ru

Высокоресурсные вычисления: роль суперкомпьютеров в жизни и бизнесе

Реферальная программа Cloud.ru: как устроена и как на ней зарабатывать

Сетевая модель OSI: что это такое и зачем она нужна

Какие новости за август — дайджест Cloud.ru

Сетевые протоколы передачи данных — что это такое и какие бывают

Какие новости за июль — дайджест Cloud.ru

Как новые возможности в юридических документах Cloud.ru облегчают работу с договорами и не только

Какие новости за июнь — дайджест Cloud.ru

Как обновления VMware Cloud Director облегчают управление и делают работу с инфраструктурой в ...

Как мы рассчитывали «Панораму российского IT-рынка» за 2022 год

Как снизить риски утечки данных и санкций госрегуляторов: 152-ФЗ в Cloud.ru

Бесплатный курс по работе с Cloud.ru Advanced: рассказываем, в чем польза, кому подойдет и как...

Как модель Anything as a Service упрощает IT-процессы

Снижение рисков на производстве: AI-сервис распознает нарушения ношения СИЗ

Kandinsky 2.1: новый уровень в генерации изображений по текстовому описанию

Облачные сервисы для стартапов: как пройти путь от идеи до цифрового продукта и не разориться

Создать пользователя, настроить 2FA, связаться с поддержкой — новые возможности личного кабине...

VDI: что это, как работает и в чем выгода для бизнеса

Как защитить облачную инфраструктуру — рассказываем на примере межсетевого экрана нового покол...

Как начать использовать AI/ML на практике

Бессерверные вычисления: что это за технология и кому она нужна

Чек-лист: как обеспечить безопасность облачной инфраструктуры

Искусственный интеллект

Что такое IaaS?

Что такое PaaS

Machine Learning

Data Science

Машинное обучение без учителя

Классическое машинное обучение

Нейронные сети

Глубокое обучение

Защита персональных данных: как легче соблюдать закон с Cloud.ru и сохранять спокойствие

Как сохранить IT-инфраструктуру и бизнес: руководство к действию

Машинное обучение и Big Data в кибербезопасности

Ответы на актуальные вопросы

Что такое DDoS-атаки, чем они опасны и как от них защититься

Аудит информационной безопасности: что это, зачем и когда его проводить

Межсетевые экраны: UTM, NGFW-системы, NTA, NDR

Обзор межсетевых экранов, систем IPS и IDS

PostgreSQL vs MySQL: какая система подходит вашему бизнесу

Основы резервного копирования

Специальное предложение «180 дней тестового периода резервного копирования» для всех клиентов
Платформа SberCloud Advanced теперь обеспечивает максимальный уровень защиты персональных данных

Что такое объектное хранилище S3 и как его используют

Customer Enablement: как SberCloud работает с клиентами, чтобы сделать миграцию в облако комфо...

Сеть доставки контента CDN: новые функциональные возможности и преимущества

Объясняем на кейсах: польза CDN для бизнеса

Новая Windows Server 2022 в облаке SberCloud — новые возможности клиентов

Запуск нового сервиса Managed OpenShift в облачной среде SberCloud

Как работает технология DNS

SberCloud Advanced запустила третью ресурсную зону доступности для комфортной работы клиентов

PostGIS в PostgreSQL — как можно использовать

GitLab для начинающих: как и для чего используется

Краткий обзор методологии CI/CD: принципы, этапы, плюсы и минусы

Персональные данные: правильно обрабатываем и храним

Кто и зачем использует облачные модели IaaS и PaaS

152-ФЗ в облаке: хранение персональных данных в облаке

Как работает CDN (Content Delivery Network)?

Service Level Agreement (SLA): все о соглашении об уровне сервиса

Что такое «интернет поведения» (IoB)?

Чек-лист: 6 шагов для успешной миграции в облако

Машинное обучение: просто о сложном

Профессия DevOps-инженер: кто это и чем занимается

Гайд по Kubernetes. Эпизод I: k8s для неразработчиков

Публичные, частные и гибридные облака: в чем разница?
