Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/2] Setting more capabilities(CAP_CHOWN, CAP_DAC_OVERRIDE, CAP_DAC_READ_SEARCH and CAP_SETUID).
At Fri, 20 Mar 2009 12:11:18 +0300,
Игорь, я пытался сделать патч в втом виде, что бы он угодил всем. Мне
от него нужна только возможность делать bind от не привилегированного
пользователя, ибо за pid/logs я вполне могу следить сам.
Вынести логику в две директивы use_bind_capability и
use_full_capability в патче я постараюсь в ближайшее время.
Igor Sysoev <is@xxxxxxxxxxxxx> wrote:
>
> On Fri, Mar 20, 2009 at 09:15:42AM +0200, Alex Vorona wrote:
>
> > 20.03.2009 07:50, Igor Sysoev wrote:
> >
> > >И вообще, эти capabilities где-нибудь документированы ? Я с ходу не нашёл,
> > >что означают CAP_EFFECTIVE, CAP_PERMITTED и CAP_INHERITABLE.
> > >
> > Нашёл на
> > http://www.ibm.com/developerworks/ru/library/l-posixcap/l-posixcap.html
> > >Каждый процесс имеет три набора прав доступа: доступные (permitted) (P),
> > >наследуемые (inheritable) (I) и текущие (effective) (E)
> >
> > Похоже, это оно.
>
> Спасибо. Лучше правда читать оригинал:
> http://www.ibm.com/developerworks/linux/library/l-posixcap.html
>
> потому что вот это:
>
> Call prctl(2) to set PR_SET_KEEPCAPS, which asks the system to let
> it keep its capabilities across setuid(2).
>
> явно не означает:
>
> Вызвать prctl(2), чтобы установить PR_SET_KEEPCAPS, который через
> setuid(2) запрашивает систему о сохранении его разрешений.
>
> Судя по capabilities(7):
>
> http://www.freebsd.org/cgi/man.cgi?query=capabilities&apropos=0&sektion=0&manpath=SuSE+Linux%2Fi386+ES+10+SP1&format=ascii
>
> имеет смысл разрешать только CAP_NET_BIND_SERVICE, потому что, насколько
> я понимаю, разрешение CAP_DAC_OVERRIDE, CAP_DAC_READ_SEARCH и CAP_CHOWN
> по сути разрешают делать процессу с файловой системой всё, что угодно
> и мало чем отличается от рута. То есть, нужно делать директиву что-то вроде:
>
> use_bind_capability;
>
> которая бы разрешала только CAP_NET_BIND_SERVICE. В этом случае админ
> должен сам позабодиться о файлах и прочая: он имеет мастера, работающего
> под обычнм пользователем с возможностью bind'иться к 80 порту.
>
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
--
wbr, Kirill
- References:
- [PATCH] Start use capabilities on linux
- From: Kirill A. Korinskiy
- [PATCH 2/2] Setting more capabilities(CAP_CHOWN, CAP_DAC_OVERRIDE, CAP_DAC_READ_SEARCH and CAP_SETUID).
- From: Kirill A. Korinskiy
- Re: [PATCH 2/2] Setting more capabilities(CAP_CHOWN, CAP_DAC_OVERRIDE, CAP_DAC_READ_SEARCH and CAP_SETUID).
- Re: [PATCH 2/2] Setting more capabilities(CAP_CHOWN, CAP_DAC_OVERRIDE, CAP_DAC_READ_SEARCH and CAP_SETUID).
- From: Kirill A . Korinskiy
- Re: [PATCH 2/2] Setting more capabilities(CAP_CHOWN, CAP_DAC_OVERRIDE, CAP_DAC_READ_SEARCH and CAP_SETUID).
- Re: [PATCH 2/2] Setting more capabilities(CAP_CHOWN, CAP_DAC_OVERRIDE, CAP_DAC_READ_SEARCH and CAP_SETUID).
- From: Kirill A . Korinskiy
- Re: [PATCH 2/2] Setting more capabilities(CAP_CHOWN, CAP_DAC_OVERRIDE, CAP_DAC_READ_SEARCH and CAP_SETUID).
- Re: [PATCH 2/2] Setting more capabilities(CAP_CHOWN, CAP_DAC_OVERRIDE, CAP_DAC_READ_SEARCH and CAP_SETUID).
- Re: [PATCH 2/2] Setting more capabilities(CAP_CHOWN, CAP_DAC_OVERRIDE, CAP_DAC_READ_SEARCH and CAP_SETUID).
|