предназначеная для смены пароля пользователя.
Самый классический пример
setuid-программ это программа
passwd , предназначеная для смены пароля пользователя. Такие данные как пароль и прочие характеристики пользователей хранятся в специальном файле,который имеет огромное значение при входе в систему. Так как это системный файл,то открыть к нему доступ на запись всем-значит подвергнуть
ВСЮ систему риску,ведь любое неправильное изменение его повлечет
катастрофические последствия(в конце концов бывает просто хулиганство). Поэтому доступ к этому файлу
закрыт для всех пользователей.А что если надо
сменить пароль?
Запускаем программу
passwd ,если глянуть на ее аттрибуты ,то видно что она принадлежит
root -супервизору, и еще имеет установленый бит
setuid. Так корректно обходится эта проблема.
Если вы все-же решили попытаться ,то знайте ,что сделать программу
setuid можно
коммандой :
chmod +s myprogramm
И как всгда Примерчик напоследок:
Эта программа выдает содержимое вашей директории
public_html в том случае,если она доступна для чтения,и для каждого файла указывает ,можно ли его читать,писать и исполнять. Попробуйте ее сделать
setuid и посмотрите как изменится результат.
#!/usr/bin/perl #listmydir.cgi print "Content-Type: text/html\n\n"; if(!(-r '..')){ print ".. is not allowed for reading ;)))))\n"; } else{ @list=glob('../*'); foreach(@list){ print "<A href=\"$_\">$_</A>"; print " readable" if -r; print " writable" if -w; print " executable" if -x; print "<BR>\n"; } }
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий