Права и 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
при изменении прав системных файлов или чужих файлов.