Skip to content

Права и chmod

🔐 Права доступа и chmod в Linux

В Linux права на файлы и директории управляются через систему разрешений. Каждый файл принадлежит пользователю и группе, а также имеет три типа доступа: чтение (r), запись (w) и выполнение (x).

Три категории пользователей:

  • u — владелец файла (user)
  • g — группа (group)
  • o — остальные (others)
  • a — все (all)

Пример вывода ls -l

-rwxr-xr-- 1 user group 0 Apr 5 12:00 file.txt

Разберём права: rwx r-x r-- - Владелец: чтение, запись, выполнение - Группа: чтение, выполнение - Остальные: только чтение


Команда chmod

Используется для изменения прав.

Символьная нотация:

chmod u+x file.txt      # Добавить выполнение владельцу
chmod go-w file.txt     # Убрать запись у группы и других
chmod a=r file.txt      # Все могут только читать

Числовая нотация:

Каждое право имеет своё число: - r = 4 - w = 2 - x = 1

Складываем значения: - rwx = 7 - rw- = 6 - r-x = 5 - r-- = 4

Пример:

chmod 755 directory/
  • Владелец: 7 (rwx)
  • Группа: 5 (r-x)
  • Остальные: 5 (r-x)

Команда chown

Меняет владельца и/или группу:

sudo chown user:group file.txt   # Назначить владельца и группу
sudo chown :developers file.txt  # Только группу
sudo chown -R user:group folder/ # Рекурсивно для папки

Полезные команды

Команда Описание
ls -l Посмотреть права
umask Установить маску по умолчанию при создании файлов
getfacl <file> Посмотреть расширенные ACL (если поддерживаются)

💡 Совет: Используйте sudo при изменении прав системных файлов или чужих файлов.