Казалось бы, все хорошо: и пользователи довольны, и вам не нужно каждый раз подходить к серверу, если нужно установить коммутируемое соединение или примонтировать общий ресурс. Однако следует учитывать, что программы, требующие установления SUID (или SGID) для своей работы являются потенциальными дырами в системе безопасности. Представьте такую ситуацию: у вас в системе установлена программа superformat, которая предназначена для форматирования дисков. Создание файловой системы, пусть даже на дискете, — это привилегированная операция, требующая права доступа root. При установке этой программы для нее сразу устанавливается право SUID, чтобы разрешить пользователям форматировать дискеты. Пользователь запускает ее для форматирования диска. Программа запускается, получает права root, форматирует дискету и нормально завершает работу. А теперь представим, что программа некорректно завершает свою работу — по ошибке, например, произошло переполнение стека (такие случаи известны при работе с этой программой). Что же при этом произошло: программа supermount получила права root и некорректно завершила работу. В результате чего обыкновенный пользователь получил права root! Неквалифицированный пользователь с правами root — это намного хуже, чем просто крах системы. Нельзя с уверенностью сказать что произойдет, если пользователь получит права root. Выходит, что не нужно быть профессиональным хакером — достаточно просто уметь форматировать дискеты.
Помните о потенциальной опасности при работе с такими программами и, по возможности, избегайте использования прав SUID и SGID.
Ради справедливости нужно заметить, что ряд системных программ (в частности pppd) разрабатывался с учетом прав SUID и SGID, и эти программы являются максимально защищенными, хотя полной уверенности в этом нет. Поэтому использовать право SUID нужно только в самых крайних случаях.
Я позволю себе сделать еще несколько замечаний относительно прав доступа SUID и SGID:
1. Лучше не использовать программы, требующие привилегированные права доступа, на сервере, точнее, не разрешать обыкновенным пользователям их использовать. Использование права доступа SUID вы можете себе позволить только на своей домашней машине, например, для установления того же коммутируемого соединения, чтобы каждый раз при подключении к Интернет не вводить команду su.
2. Если все-таки нужны привилегированные права, используйте программу sudo (или su). Конечно, это не так удобно, но зато гораздо безопаснее.
3. Перед использованием программ, требующих права доступа root, убедитесь в их надежности. Если программа получена из ненадежного источника, лучше ее не использовать. Под надежным источником подразумеваются сайты или FTP-серверы разработчиков дистрибутивов Linux. Желательно получить исходный код такой программы, чтобы убедиться, что она не производит каких-либо несанкционированных действий.
4. Нет ни одной причины, по какой нужно было бы разрешить использование SUID-программ в домашних каталогах пользователей. Для разделов, в которые разрешена запись обыкновенным пользователям, установите опцию nosuid в файле /etc/fstab.
4.13. Обслуживание файловой системы
Обслуживание файловой системы в ОС Linux сводится к двум операциям:
1. Проверка.
2. Дефрагментация.
Проверка и восстановление файловой системы Linux выполняется программой fsck. Перед проверкой файловая система должна быть смонтирована в режиме «только чтение».
Программа fsck умеет проверять и другие типы файловых систем, но для исправления ошибок лучше использовать родные для этой файловой системы программы, предназначенные для проверки и исправления ошибок. Программа fsck автоматически проверяет файловые системы при загрузке Linux в соответствии с указаниями, содержащимися в файле etc/fstab. Для программы fsck можно использовать опции, указанные в табл. 4.12.
Параметры программы fsck Таблица 4.12
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии