[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