Действие + Добавить набор прав
- Отменить набор прав
= Назначить набор прав
Право r Право на чтение
w Право на запись
x Право на исполнение
s Право смены идентификатора пользователя или группы
t Бит прилипчивости (sticky-бит)
u Такие же права, как у владельца
g Такие же права, как у группы
o Такие же права, как у прочих

Название бита прилипчивости унаследовано от тех времен, когда объем оперативной памяти был маленьким, а процесс подкачки медленным. Этот бит позволял оставлять небольшие часто используемые программы в памяти для ускорения их запуска. Сейчас его значение переосмыслено: этот бит, установленный для каталога, приводит к тому, что удалять файлы из этого каталога могут только владелец файла и владелец каталога. Обычно это используется в каталогах, открытых для записи всем (например, /tmp).

Права смены пользователя и группы (SUlD-бит и SGID-бит) означают следующее. Обычно исполняемый файл (программа или командный сценарий) получает те же права на доступ к файлам, что и пользователь, который запустил его на выполнение. Но у этого файла есть еще и владелец, полномочия которого могут быть совсем другими. Наличие одного из этих битов позволяет выполняющейся программе пользоваться полномочиями владельца программного файла или члена его группы

Так, команда su (substitute user), позволяющая «стать» другим пользователем без завершения своего сеанса и входа под новым именем (это нужно, например, чтобы быстро выполнить административную задачу от имени суперпользователя), имеет следующие атрибуты:

$ls -l `which su`

-rwsr-xr-x 1 root root [размер, дата, время] /bin/su

Биты «x» сообщают, что любой пользователь может запустить эту программу, а бит «s» — о том, что во время ее выполнения он будет пользоваться правами суперпользователя root (если, конечно, знает пароль).

Обратите внимание на применение обратных апострофов: они нужны для того, чтобы направить вывод команды which на вход команды ls.

Следует учитывать, что программы, требующие установления SUID (или SGID) для своей работы, являются потенциальными дырами в системе безопасности. Представьте такую ситуацию: у вас в системе установлена программа superformat, которая предназначена для форматирования дисков. Создание файловой системы, пусть даже на дискете, — это привилегированная операция, требующая полномочий суперпользователя.

При установке этой программы для нее сразу устанавливается право SUID, чтобы разрешить пользователям форматировать дискеты. Пользователь запускает ее для форматирования дискеты. Программа запускается, получает права root, форматирует дискету и нормально завершает работу.

А если она завершает работу аварийно, например, по ошибке переполнения стека (такие случаи отмечались)? Тогда запустивший ее пользователь получит права root! Неквалифицированный пользователь с правами root — это намного хуже, чем просто крах системы. Помните о потенциальной опасности при работе с такими программами и по возможности избегайте использования прав SUID и SGID.

Справедливости ради нужно заметить, что ряд системных программ (в частности, демон установления интернет-соединения pppd) разрабатывался с учетом прав SUID и SGID, и эти программы являются максимально защищенными, хотя полной уверенности в этом нет. Поэтому использовать право SUID нужно только в самых крайних случаях.

Я позволю себе сделать еще несколько замечаний относительно прав доступа SUID и SGID:

1. Лучше не использовать программы, требующие привилегий, на сервере, точнее, не разрешать обыкновенным пользователям их использовать. Использование права доступа SUID вы можете себе позволить только на своей домашней машине, например, для установления того же коммутируемого соединения, чтобы каждый раз при подключении к Интернету не вводить команду su.

2. Перед использованием программ, требующих привилегии root, убедитесь в их надежности. Если программа получена из ненадежного источника, лучше ее не использовать. Надежными источниками считаются сайты или FTP-серверы разработчиков дистрибутивов Linux, Желательно получить исходный код такой программы, чтобы убедиться, что она не производит каких-либо несанкционированных действий.

3. Нет ни одной причины, по какой нужно было бы разрешить использование SUlD-программ в домашних каталогах пользователей. Для разделов, в которые разрешена запись обыкновенным пользователям, установите опцию nosuid в файле /etc/fstab.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату