Программы setuid и setgid
Программы, которые на время выполнения приобретают права владельца или группы, называются setuid и setgid. Такие программы обращаются к системным ресурсам или модифицируют их для пользователя, от имени которого они запускаются. Так, например, программы login, passwd, su, запускаемые обычными пользователями, должны в процессе работы обращаться к системным ресурсам, доступным только пользователю root. Почтовый сервер sendmail должен записывать данные в почтовые ящики, принадлежащие конкретным пользователям. В обычных условиях почтовые ящики доступны только их владельцам и членам групп. Программы удаленного доступа rep, rsh и rlogin должны устанавливать соединение через привилегированные порты, также доступные только для root.
Программы setuid часто становятся орудиями взлома. Один из широко известных приемов, применяемых хакерами, — установка «троянского коня», т.е. замена программы setuid поддельной копией. С помощью подобной программы взломщик без труда получает привилегии root.
Одна из ошибок системного администратора, чреватая серьезными последствиями, — создание сценария оболочки setuid. В отличие от двоичных программ, сценарии легко читаемы. Не исключено, что недобросовестный пользователь найдет способ модифицировать сценарий либо скопировать его в другой каталог и изменить несколько команд. В настоящее время, в условиях жесткого контроля за доступом к каталогам, сделать это непросто, однако в ранних версиях UNIX подобная операция не составляла большого труда.
Программы, предназначенные для контроля целостности системы, проверяют наличие программ setuid и setgid, не предусмотренных в конкретной версии операционной системы. Для поиска программ setuid и setgid можно также воспользоваться следующей командой:
find / \(-perm -4000 -о -perm-2000 \) -fstype ext2 -type f -print
P.S. Устал от работы, посмотри телепроект дом 2 , почувстуй себя счастливым и беззаботным человеком