Ответ
Базовая модель прав доступа в Linux основана на трёх сущностях (владелец, группа, остальные) и трёх типах разрешений (чтение, запись, выполнение). Эта система является основой безопасности в многопользовательских окружениях.
Структура прав:
-
Субъекты (для кого):
owner
(u): Владелец файла или каталога.group
(g): Группа, к которой принадлежит файл.others
(o): Все остальные пользователи системы.
-
Разрешения (что можно делать):
r
(read): Право на чтение содержимого файла или списка файлов в каталоге. (Числовое значение: 4)w
(write): Право на изменение файла или создание/удаление файлов в каталоге. (Числовое значение: 2)x
(execute): Право на запуск файла как программы или вход в каталог. (Числовое значение: 1)
Права задаются для каждого субъекта отдельно. Например, rwxr-xr--
означает, что владелец может читать, писать и выполнять (rwx
), группа — читать и выполнять (r-x
), а остальные — только читать (r--
).
Пример использования chmod
:
Команда chmod
изменяет права доступа. Числовой формат является суммой значений для каждого субъекта.
# Установить права 755 (rwxr-xr-x) для скрипта
# Владелец: 7 (4+2+1 = rwx)
# Группа: 5 (4+0+1 = r-x)
# Остальные: 5 (4+0+1 = r-x)
chmod 755 my_script.sh
# Посмотреть результат
ls -l my_script.sh
# Вывод: -rwxr-xr-x 1 user user 1024 Oct 26 10:00 my_script.sh
Для смены владельца и группы используются команды chown
и chgrp
соответственно.