Зачем руту может понадобиться переходить в непривелегированный режим? т.е. установить свой uid != 0;

Компьютеры программы unix root права доступа

На сколько я понял, собственно для возвращения в привелигированный режим( uid ==0) и нужен suid. Вполне возможно, что я ошибаюсь, поправьте пожалуйста.

И тут же возникает вопрос: как обратно вернуть uid ==0? Ну не так же:
suid = getuid();
setuid( <some uid> ); // т.к. пользователь root, то он может поменять свой uid. таким образом мы перешли в непривелиг-й режим.
...
setuid( suid); // так, по-моему, было бы слишком небезопасно.

Примечание:
suid в данном случае это saved user ID, а не бит установки пользователя(set uid)
Ответы:
Например, выполнить команду от имени какого-то пользователя и посмотреть, получится ли нужный результат (например, при симуляции какого-то косяка, когда от него всё работает, а у пользователя - "Всё сломалось, ААААА!!!!!!!").
Потом... ну, root на то и рут, что он может сделать rm -rf /
А у обычного непривилегированного пользователя такого не получится. (Типа Шутка).


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.