Понимание и изменение прав доступа и владения файлами
В Linux права доступа и владение файлами имеют решающее значение для безопасности системы. Давайте изучим эти концепции и научимся ими управлять.
- Сначала давайте изучим текущие права доступа в каталоге /home:
ls -l /home
Примечание: В команде ls -l второй символ — это строчная буква l (эль), а не цифра 1.
Вы увидите результат, похожий на этот:
total 8
drwxr-xr-x 2 jack jack 4096 Jul 30 10:00 jack
drwxr-xr-x 5 labex labex 4096 Jul 30 09:55 labex
Давайте разберем, что это значит:
- Первый символ указывает на тип файла (
d для каталога, - для обычного файла).
- Следующие 9 символов представляют права доступа для владельца, группы и остальных (именно в таком порядке).
r означает право на чтение, w — право на запись, x — право на выполнение.
- Имя пользователя после этих символов — это владелец файла, за ним следует владелец группы.
- Теперь давайте создадим новый файл и изменим его владельца:
touch /home/labex/testfile
ls -l /home/labex/testfile
sudo chown jack:jack /home/labex/testfile
ls -l /home/labex/testfile
Команда touch создает пустой файл. Изначально владельцем файла будет labex. Затем мы используем chown, чтобы изменить владельца на jack как для пользователя, так и для группы.
Зачем менять владельца? В Linux владельцы файлов имеют особые привилегии в отношении своих файлов. Изменяя владельца, мы предоставляем jack полный контроль над этим файлом.
- Наконец, давайте изменим права доступа к файлу:
sudo chmod 750 /home/labex/testfile
ls -l /home/labex/testfile
Команда chmod изменяет права доступа к файлу. Число 750 — это сокращенный способ установки прав:
- 7 (владелец): Чтение (4) + Запись (2) + Выполнение (1) = 7
- 5 (группа): Чтение (4) + Выполнение (1) = 5
- 0 (остальные): Нет прав
Этот набор прав означает:
- Владелец (jack) может читать, записывать и выполнять файл.
- Члены группы jack могут читать и выполнять файл.
- Остальные пользователи не имеют никаких прав доступа к файлу.
Зачем устанавливать такие права? Это распространенный набор прав, который предоставляет владельцу полный доступ, дает группе ограниченный доступ и ограничивает доступ для всех остальных. Это баланс между удобством использования и безопасностью.
Понимание прав доступа и владения файлами критически важно в Linux. Это позволяет вам контролировать, кто может читать, изменять или выполнять файлы, что является фундаментальным аспектом безопасности системы и конфиденциальности пользователей. Продолжая работать с Linux, вы будете часто использовать эти команды для управления доступом к файлам и каталогам.