LINUX.ORG.RU

Изменение пользователя процесса.


0

0

Задача такая: процесс запускаеться под пользователем А, нужно сменить пользователя процесса на Б, так чтобы процесс имел доступ к файлам пользователя Б и использовал его дисковые квоты. Пользователь A не root. Можно ли это сделать зная логин/пароль Б. Язык программирования C, дистрибутив (если это имеет значение Fedora Core 4). Подскажите пожайлуста куда копать.

anonymous

Нет. Только используя suid бит программы от юзера Б. Переключаясь с эффективного uid Б в реальный uid А, и эффективный uid А в сэйвед uid Б по необходимости.

SatanClaus ★★★
()
Ответ на: комментарий от SatanClaus

setuid/seteuid требуют чтобы ты был рутом, чтобы устанавливать произвольный id. Может быть возможно как-нибудь аутинифицироваться другим пользователем, через PAM например или ещё как?

anonymous
()
Ответ на: комментарий от anonymous

Пускать отдельный процесс для пользователя B при помощи sudo, в нем выполнять необходимые действия.

amm ★★
()
Ответ на: комментарий от anonymous

Похоже, что стандартными методами никак. А что если создать еще одну програмку, простенькую защищенную с правами запуска от root'а. Ограничить к ней доступ и т.д. и т.п. и пусть она выполняет действия которые необходимо как root. Или даже поручить ей менять для твоей проги все uid'ы.

merlin-shadow
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.