SebWeo.com
В мире Linux и серверного администрирования безопасность и контроль являются ключевыми. Одним из самых первых и важнейших инструментов, которые вы должны освоить, является команда chmod
. Если вы уже знакомы с основами работы в терминале, о которых мы говорили в нашей предыдущей статье об интерфейсе командной строки, то пора сделать следующий шаг.
Эта статья – ваш подробный путеводитель по команде chmod
. Мы разберем, что такое права доступа, как их читать и, самое главное, как их изменять с помощью двух мощных режимов: символьного и цифрового.
Каждый файл и каждая папка в Linux-подобных системах имеет набор флагов, определяющих, кто и что может с ними делать. Это и есть права доступа. Чтобы их увидеть, достаточно выполнить команду ls -l
в терминале.
$ls -l -rwxr-xr-- 1 user group 4096 июл 27 11:00 script.sh drwxr-xr-x 2 user group 4096 июл 27 11:02 my_folder
Таинственная строка -rwxr-xr--
в начале и является визуальным представлением прав. Она состоит из 10 символов, разбиваемых на четыре части:
-
для файла, d
для директории (папки).Сами права обозначаются тремя буквами — rwx:
r
(Read) — право на чтение содержимого файла или просмотр списка файлов в папке.w
(Write) — право на изменение (запись) файла или создание/удаление файлов в папке.x
(Execute) — право на выполнение файла (если это скрипт или программа) или вход в папку.
Команда chmod
(от «change mode«) позволяет изменять эти права. Она имеет два основных синтаксиса, и понимание обоих делает вас гибким администратором.
Этот режим использует буквы для обозначения пользователей (u
, g
, o
, a
) и операторы (+
, -
, =
) для изменения прав (r
, w
, x
).
u
(user/владелец), g
(group/группа), o
(others/другие), a
(all/все).+
(добавить право), -
(забрать право), =
(установить конкретные права, перезаписав старые).
Добавить право на выполнение файла script.sh
для владельца:
chmod u+x script.sh
Забрать право на запись у всех, кроме владельца, для файла config.txt
:
chmod go-w config.txt
Установить права «чтения и записи» для владельца, и «только чтения» для группы и других:
chmod u=rw,go=r config.txt
Это самый популярный способ использования chmod
. Он базируется на числах, где каждое право имеет свой вес:
r
(чтение) = 4w
(запись) = 2x
(выполнение) = 1Чтобы получить нужную комбинацию, вы просто добавляете эти цифры. Например, rwx
= 4+2+1 = 7. Права задаются тремя цифрами – для владельца, группы и других соответственно.
Число | Права (rwx) | Описание |
---|---|---|
0 | --- | Никаких прав |
1 | --x | Только выполнение |
2 | -w- | Только запись |
3 | -wx | Запись и выполнение (2+1) |
4 | r-- | Только чтение |
5 | r-x | Чтение и выполнение (4+1) |
6 | rw- | Чтение и запись (4+2) |
7 | rwx | Полные права (4+2+1) |
chmod 755 my_script.sh
— наиболее частый вариант для скриптов и папок.
rwx
— полное право.r-x
— чтение и выполнение.r-x
— чтение и выполнение.chmod 644 index.html
— Стандарт для веб-файлов, которые являются не исполняемыми.
rw-
— чтение и запись.r--
— только чтение.r--
— только чтение.
Еще один практический пример: Шаги для расчета прав каждой категории пользователей.
Чтобы вычислить права и итоговую цифру, нужно провести небольшую математическую операцию суммирования:
6
5
4
Заджойним итоговые значения: в примере (для владельца 6, для группы 5, а остальных 4) итоговое значение будет = 654
.
Иногда нужно изменить права для папки и всех файлов и подпапок внутри нее. Для этого используется флаг -R
(рекурсивно).
ВНИМАНИЕ: Используйте эту опцию с большой осторожностью, поскольку массовое изменение прав может нарушить работу системы или создать угрозу безопасности.
Например, установить права 755
для папки public_html
и всего ее содержимого:
chmod -R 755 public_html/
Правильной практикой является установка прав 755
для папок и 644
для файлов внутри них, что делается с помощью комбинации команд find
и chmod
.
Грамотное использование chmod
дает вам несколько ключевых преимуществ:
Команда chmod
— это не просто утилита, это фундаментальный механизм контроля в Linux. Овладев символьным и цифровым режимами, вы сможете гибко и эффективно управлять безопасностью ваших файлов и директорий. Начните с простых примеров, например chmod 644
для текстовых файлов и chmod 755
для скриптов, и постепенно к вам придет чувство полного контроля над своей системой.
В современной разработке программного обеспечения скорость и надежность являются решающими. Команды стремятся выпускать обновления как…
В современном цифровом мире мы привыкли к ярким иконкам, интуитивно визуальным окнам и удобным меню.…
Вы хорошо поработали над созданием современного сайта, внедрили качественный продукт и уверены в своем преимуществе…
Стабильное и быстрое интернет-соединение – важный критерий качества современной жизни. Если вы решили купить бытовую…
Защита сайта от хакеров, ботов и онлайн-уязвимостей – это многогранная и кропотливая работа. А среди…
Сегодня рассмотрим практический кейс по борьбе с надоедливой ошибкой, с которой часто сталкиваются программисты WordPress…