Ответ
Для управления правами доступа к файлам и директориям в Linux используется команда chmod (change mode).
Основные способы задания прав:
-
Символьный метод (u,g,o,a + r,w,x):
chmod u+x script.sh # Добавить право на выполнение для владельца (user) chmod g+w report.txt # Добавить право на запись для группы (group) chmod go-rw secret.conf # Забрать права на чтение и запись у группы и других (others) chmod a+r public.log # Добавить чтение всем (all) -
Цифровой (октальный) метод через маску прав:
chmod 755 script.sh # rwxr-xr-x: владелец — всё, группа и другие — чтение и выполнение chmod 640 config.cfg # rw-r----: владелец — чтение/запись, группа — только чтение chmod 400 private.key # r--------: владелец — только чтение- Первая цифра: права владельца (u).
- Вторая цифра: права группы (g).
- Третья цифра: права всех остальных (o).
- Значения: 4 (чтение, r), 2 (запись, w), 1 (выполнение, x). Суммируются для комбинации.
Ключевые опции:
-R— рекурсивное изменение прав для директории и всего её содержимого.chmod -R 755 /var/www/myapp/--reference— скопировать права с другого файла.chmod --reference=source_file.txt target_file.txt
Связанные команды:
chown— изменение владельца и группы файла.chown deploy:www-data /var/www/app # Владелец 'deploy', группа 'www-data'chgrp— изменение только группы файла.ls -l— просмотр текущих прав доступа.