
Проверили: 0/1Доступна предыдущая проверенная версия (2022/01/27 17:35).

Это старая версия документа!
Права доступа к файлам и каталогам
Посмотреть права можно командой ls -la
. У любого файла и каталога в Linux есть 4 группы прав:
- первая группа состоит из одного символа. Как правило вам будет встречаться «-» что означает обычный файл, «d» - директория или же «l» - символьная ссылка.
- блок rwx, относящийся к владельцу файла. Буквенное обозначение - u (user)
- блок rwx, относящийся к группе. Буквенное обозначение - g (group)
- блок rwx, относящийся ко всем остальным. Буквенное обозначение - o (other)
- r - read, права на открытие и чтение файла или просмотр содержимого в каталоге
- w - write, права на запись в файл или возможность создавать, удалять или переименовывать объекты в каталоге
- x - execute, возможность выполнить файл или войти в каталог
Права можно записывать как в буквенной нотации, так и в цифровой.
Каталог - это особый тип файла. Его содержание - это список других файлов. Каталоги имеют те же «биты прав», что и остальные файлы. Однако то, что эти права означают может быть не таким простым для понимания.
Если каталог можно изменять (w), то это означает, что в нем можно изменять файлы, их имена, удалять их. Это можно делать даже с файлами, доступ к которым запрещен для данной категории. Вводят дополнительный t-бит. При его наличии пользователь может изменять только свои файлы.
Изменение прав доступа
chgrp
- изменение принадлежности файла или каталога к определенной группеchown
- изменяет владельца файла или каталогаchmod
- изменяет режим доступа к файлу или каталогу.
Специальные права
- SUID (Set UID) - файл, у которого есть такой бит, выполняется с правами хозяина файла программы. Этот бит стоит использовать с исполняемыми файлами.
- SGID (Set GID) - аналогично SUID, но выполняется с правами группы, которой принадлежит файл. Кроме исполняемых файлов этот бит может устанавливаться на директории.
- Stiky — бит имеет смысл только если он установлен на директорию. Означает, что в этой директории файл может удалить только его хозяин. (Суперпользователь может удалять любые файлы, в том числе и не принадлежащие ему.)
Рассмотрим эти права более детально.
SUID
Изменение пароля происходит с помощью записи в файл /etc/shadow, при это любой пользователь может менять свой пароль. Поэтому, логично было бы предположить, что на этот файл у всех права на запись. Однако же, если выполнить команду ls -la /etc/shadow
, мы увидим -rw-r—– 1 root shadow 1640 фев 1 09:12 /etc/shadow
, то есть писать в этот файл может только root. Каким же образом любой пользователь может изменить свой пароль? Вспоминаем, что для изменения пароля требуется утилита passwd, которая находится в /usr/bin/passwd. Посмотрим на права доступа к этому файлу - -rwsr-xr-x 1 root root 68208 июл 15 2021 /usr/bin/passwd