Сценарий рассмартривает процесс повышения превилегий пользователя и переход в режим суперпользователя.
Начальные условия: Командная строка после входа в систему простого пользователя.
1. Некоторые исполняемые программы обладают специальным suid-битом, например, программа passwd, рассмотрим права доступа к этому исполняемому файлу: ls -l /bin/passwd.
2. user@desktop ~ $ ls -l /bin/passwd-rws--x--x 1 root root 28660 Янв 8 13:05 /bin/passwd* 3. Запускаются suid-программы от имени владельца файла. В этом можно убедиться, если запустить команду passwd, а затем на другом терминале сделать ps aux | grep passwd:
4. user@desktop ~ $ passwd5. Changing password for user6. (current) UNIX password: 7. ...8. user@desktop ~ $ ps aux | grep passwd9. root 12937 0.0 0.1 3228 1012 pts/2 S+ 23:28 0:00 passwduser 12989 0.0 0.1 2740 748 pts/3 R+ 23:28 0:00 grep passwd 10. Для длительной работы в режиме суперпользователя обычно используют команду su. Используем параметр -, чтобы проинициализировать окружение суперпользователя: su -. Для того, чтобы перейти в режим суперпользователя, необходимо знать его пароль.
11. user@desktop ~ $ su -12. Password:desktop ~ # При этом запускается новая командная оболочка, уже с новыми привелегиями.
13. Для завершения сеанса суперпользователя необходимо воспользоваться командой exit:
14. desktop ~ # exit15. logoutuser@desktop ~ $