Что такое права доступа (chmod, chown)?

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

Как посмотреть права

Команда ls -l показывает права, владельца и группу файла.

ls -l script.sh
-rwxr-xr-- 1 alex developers 120 Aug 13 10:00 script.sh

Первая часть -rwxr-xr-- описывает права. Первый символ указывает тип объекта: - — файл, d — директория. Остальные символы разделены на три группы: владелец, группа и остальные пользователи.

Что означают r, w и x

  • r, read — разрешение читать файл или просматривать список файлов в каталоге;

  • w, write — разрешение изменять файл или создавать и удалять файлы в каталоге;

  • x, execute — разрешение запускать файл или входить в каталог.

Команда chmod

chmod изменяет права доступа. Их можно задавать числом или символьной записью.

chmod 644 config.txt
chmod 755 script.sh
chmod u+x script.sh
chmod g-w config.txt

В числовой форме: 4 — чтение, 2 — запись, 1 — выполнение. Например, 755 означает: владельцу доступны чтение, запись и выполнение; группе и остальным — чтение и выполнение.

Команда chown

chown изменяет владельца файла. Можно указать также группу через двоеточие.

sudo chown alex file.txt
sudo chown alex:developers file.txt
sudo chown -R www-data:www-data /var/www/app

Флаг -R применяет изменение рекурсивно ко всем вложенным файлам и каталогам.

Практическое правило

Не стоит решать проблемы доступа через chmod 777. Такая команда даёт всем пользователям полные права и может создать уязвимость. Лучше определить нужного владельца, группу и минимально необходимые разрешения.

Как ответить на собеседовании

В Linux права задаются для владельца, группы и остальных пользователей: read, write и execute. chmod меняет режим доступа, например chmod 755 script.sh, а chown меняет владельца и группу. Я не использую chmod 777 без крайней необходимости.

Оцени свой прогресс

Честно оцени своё понимание этого вопроса, чтобы мы могли построить твой учебный трек максимально эффективно.
Читать в блоге