[Moscow.pm] запустить кмманду под другим пользователем

Вячеслав Матюхин me на berekuk.ru
Вт Ноя 22 07:53:17 PST 2011


On Nov 22, 2011, at 18:00, Ruslan Zakirov wrote:

> 2011/11/22 Вячеслав Матюхин <me на berekuk.ru>:
>> 
>> On Nov 22, 2011, at 1:35, Ruslan Zakirov wrote:
>> 
>>> 2011/11/21 Denis Evdokimov <evdokimov.denis на gmail.com>:
>>>> POSIX::setuid не то?
>>> 
>>> Пока остановился на fork+setgid+setuid+exec.
>> 
>> Не забудь про setpgrp, не забудь переоткрыть stdin/stdout/stderr, про double fork для полного детача от родительского процесса, и про то, что все остальные fh надо переоткрыть.
> 
> Мне повезло и plackup -s FCGI умеет демонизироваться :)

А останавливать как? Проверять статус? Мониторить?

> 
>> Или забудь про эту затею и пользуйся нормальным демонизатором, как минимум Proc::Daemon'ом, а
> 
> И где вы раньше были с Proc::Daemon. Я бы хоть подглядел что они делают.
> 
Ну, они делают это одновременно с демонизацией.
Так что там просто POSIX::setuid (у них даже поддержки групп нет).

Я в Ubic'е это делаю через $>, $<, $(, $), код тут: https://metacpan.org/source/MMCLERIC/Ubic-1.35/lib/Ubic/Credentials/OS/POSIX.pm.
У меня кода намного больше, потому что:
1) поддерживаются группы;
2) правильно транслируются текстовые имена в числовые;
3) есть проверки, что операция выполнилась успешно.

PS: с каких пор мы на "вы"? :)

>> лучше сразу ubic'ом :)
> 
> 
> 
>> 
>> 
>> --
>> Вячеслав Матюхин
>> http://friendfeed.com/mmcleric
>> http://berekuk.ru
>> 
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>> 
> 
> 
> 
> -- 
> Best regards, Ruslan.
> -- 
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org

-- 
Вячеслав Матюхин
http://friendfeed.com/mmcleric
http://berekuk.ru



Подробная информация о списке рассылки Moscow-pm