ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [Comm] "pam_mount password:" - неаккуратненько как-то
@ 2009-06-19  6:46 Денис Черносов
  2009-06-19 23:38 ` Dmitry V. Levin
  2009-06-22 10:06 ` Andrew V. Stepanov
  0 siblings, 2 replies; 16+ messages in thread
From: Денис Черносов @ 2009-06-19  6:46 UTC (permalink / raw)
  To: ALT Linux Community general discussions

День добрый всем!

auth     optional          pam_mount.so
auth     sufficient        pam_tcb.so shadow fork prefix=$2a$ count=8
nullok use_first_pass
auth     requisite         pam_succeed_if.so uid >= 500 quiet
auth     required          pam_ldap.so use_first_pass


В пятом бранче pam_mount, будучи поставленный первым в auth (а
по-другому его заставить работать у меня не получилось), меняет строку
запроса пароля и вместо просто "password:" пишет "pam_mount
password:".

$ su -
pam_mount password:


На 4.1 такого не наблюдалось. Зачем понадобилось "кишки светить" перед
юзерами и можно ли это поведение отключить по-простому?
Пока сделал как в мануале написано, но смысл написанного для меня
непрозрачен, а значит велик риск, что через пару месяцев буду смотреть
на эти строчки в глубокой задумчивости:


auth     [success=2 default=ignore]       pam_tcb.so shadow fork
prefix=$2a$ count=8 nullok
auth     requisite
pam_succeed_if.so uid >= 500 quiet
auth     [success=1 default=ignore]       pam_ldap.so use_first_pass
auth     optional       pam_mount.so


-- 
С уважением,
Черносов Денис

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Comm] "pam_mount password:" - неаккуратненько как-то
  2009-06-19  6:46 [Comm] "pam_mount password:" - неаккуратненько как-то Денис Черносов
@ 2009-06-19 23:38 ` Dmitry V. Levin
  2009-06-22  6:41   ` Денис Черносов
  2009-06-22 10:06 ` Andrew V. Stepanov
  1 sibling, 1 reply; 16+ messages in thread
From: Dmitry V. Levin @ 2009-06-19 23:38 UTC (permalink / raw)
  To: ALT Linux Community general discussions

[-- Attachment #1: Type: text/plain, Size: 1765 bytes --]

On Fri, Jun 19, 2009 at 11:46:36AM +0500, Денис Черносов wrote:
> День добрый всем!
> 
> auth     optional          pam_mount.so
> auth     sufficient        pam_tcb.so shadow fork prefix=$2a$ count=8
> nullok use_first_pass
> auth     requisite         pam_succeed_if.so uid >= 500 quiet
> auth     required          pam_ldap.so use_first_pass
> 
> В пятом бранче pam_mount, будучи поставленный первым в auth (а
> по-другому его заставить работать у меня не получилось), меняет строку
> запроса пароля и вместо просто "password:" пишет "pam_mount
> password:".

Не надо помещать pam_mount.so в стеке аутентификации до pam_tcb.so,
это не правильно по сути.

> $ su -
> pam_mount password:
> 
> На 4.1 такого не наблюдалось. Зачем понадобилось "кишки светить" перед
> юзерами и можно ли это поведение отключить по-простому?

Попробуйте спросить у автора pam_mount.  Хотя я бы не стал его винить,
ведь благодаря ему сразу видна ошибка в стеке аутентификации.

> Пока сделал как в мануале написано, но смысл написанного для меня
> непрозрачен, а значит велик риск, что через пару месяцев буду смотреть
> на эти строчки в глубокой задумчивости:
> 
> auth     [success=2 default=ignore]       pam_tcb.so shadow fork prefix=$2a$ count=8 nullok
> auth     requisite pam_succeed_if.so uid >= 500 quiet
> auth     [success=1 default=ignore]       pam_ldap.so use_first_pass
> auth     optional       pam_mount.so

Вы неправильно списали с pam_mount(8).  Чтобы понять, в чём ошибка,
придётся прочитать и понять pam.conf(5).

P.S. Извините, что отвечаю не на те вопросы, которые вы задаёте,
     а на те, которые напрашиваются.  Просто я сейчас готовил сборку
     пакета pam-1.1.0-alt1, и вы попали под горячую руку. :)


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Comm] "pam_mount password:" - неаккуратненько как-то
  2009-06-19 23:38 ` Dmitry V. Levin
@ 2009-06-22  6:41   ` Денис Черносов
  2009-06-22 16:48     ` Dmitry V. Levin
  0 siblings, 1 reply; 16+ messages in thread
From: Денис Черносов @ 2009-06-22  6:41 UTC (permalink / raw)
  To: ALT Linux Community general discussions

20 июня 2009 г. 4:38 пользователь Dmitry V. Levin (ldv@altlinux.org) написал:
> On Fri, Jun 19, 2009 at 11:46:36AM +0500, Денис Черносов wrote:
>> День добрый всем!
>>
>> auth     optional          pam_mount.so
>> auth     sufficient        pam_tcb.so shadow fork prefix=$2a$ count=8
>> nullok use_first_pass
>> auth     requisite         pam_succeed_if.so uid >= 500 quiet
>> auth     required          pam_ldap.so use_first_pass
>>
>> В пятом бранче pam_mount, будучи поставленный первым в auth (а
>> по-другому его заставить работать у меня не получилось), меняет строку
>> запроса пароля и вместо просто "password:" пишет "pam_mount
>> password:".
>
> Не надо помещать pam_mount.so в стеке аутентификации до pam_tcb.so,
> это не правильно по сути.

Согласен, мне это тоже кажется "неправильным по сути". Но в примере
явно указано, что при аутентификации через ldap или winbind нужно
модуль pam_mount ставить впереди...
----------------------
#man pam_mount
....
       When "sufficient" is used in the second column, you must make
sure  that  pam_mount  is  added
       before  this entry. Otherwise pam_mount will not get executed
should a previous PAM module suc‐
       ceed. Also be aware of the "include" statements. These make PAM
look into the  specified  file.
       If  there  is a "sufficient" statement, then the pam_mount
entry must either be in the included
       file before the "sufficient" statement or before the "include" statement.

       If you use pam_ldap, pam_winbind, or any other authentication
services that make use  of  PAM's
       sufficient keyword, model your configuration on the following order:

              ・・・
              account sufficient  pam_ldap.so
              auth    required    pam_mount.so
              auth    sufficient  pam_ldap.so use_first_pass
              auth    required    pam_unix.so use_first_pass
              session optional    pam_mount.so
              ・・・

       This allows for:

       1.  pam_mount,  as the first "auth" module, will prompt for a
password and export it to the PAM
           system.

       2.  pam_ldap will use the password from the PAM system to try
and  authenticate  the  user.  If
           this  succedes, the user will be authenticated. If it
fails, pam_unix will try to authenti‐
           cate.
....
------------------------------


А второй вариант (см. ниже) указывается именно для таких как мы с вами :)
-----------------------------
...
       Alternatively, the following is possible (thanks to Andrew
Morgan for the hint!):

              auth [success=2 default=ignore] pam_unix2.so
              auth [success=1 default=ignore] pam_ldap.so use_first_pass
              auth requisite pam_deny.so
              auth optional pam_mount.so

       It  may  seem  odd, but the first three lines will make it so
that at least one of pam_unix2 or
       pam_ldap has to succeed. As you can see, pam_mount will be run
after  successful  authentifica‐
       tion with these subsystems.
...
-----------------------------

Причем, оба этих варианта - рабочие. А вот если попытаться без затей
поставить pam_mount после остальных модулей, то пароль запрашивается
два раза. Причем даже при перезапуске демонов (веселуха service
network restart - введи пароль...). И это не решается использованием
опции use_first_pass.

Единственное, что я не пробовал - это ставить строчку с account
впереди строчек с auth. Потому что, насколько я понимаю, от этого
ничего не изменится...

>> $ su -
>> pam_mount password:
>>
>> На 4.1 такого не наблюдалось. Зачем понадобилось "кишки светить" перед
>> юзерами и можно ли это поведение отключить по-простому?
>
> Попробуйте спросить у автора pam_mount.  Хотя я бы не стал его винить,
> ведь благодаря ему сразу видна ошибка в стеке аутентификации.

Никто его не винит. Просто см. сабж - "неаккуратненько как-то". И
хотелось бы узнать, есть ли возможность сэмулировать старое поведение.

>> auth     [success=2 default=ignore]       pam_tcb.so shadow fork prefix=$2a$ count=8 nullok
>> auth     requisite pam_succeed_if.so uid >= 500 quiet
>> auth     [success=1 default=ignore]       pam_ldap.so use_first_pass
>> auth     optional       pam_mount.so
>
> Вы неправильно списали с pam_mount(8).  Чтобы понять, в чём ошибка,
> придётся прочитать и понять pam.conf(5).

Ошибки нет. Этот вариант работает. Мой вопрос касается скорее
эстетики, чем функциональности...

> P.S. Извините, что отвечаю не на те вопросы, которые вы задаёте,
>     а на те, которые напрашиваются.  Просто я сейчас готовил сборку
>     пакета pam-1.1.0-alt1, и вы попали под горячую руку. :)

Не всегда получается задать удачный вопрос, чтобы получить полезный ответ ;)


-- 
С уважением,
Черносов Денис


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Comm] "pam_mount password:" - неаккуратненько как-то
  2009-06-19  6:46 [Comm] "pam_mount password:" - неаккуратненько как-то Денис Черносов
  2009-06-19 23:38 ` Dmitry V. Levin
@ 2009-06-22 10:06 ` Andrew V. Stepanov
  2009-06-24  9:02   ` Денис Черносов
  1 sibling, 1 reply; 16+ messages in thread
From: Andrew V. Stepanov @ 2009-06-22 10:06 UTC (permalink / raw)
  To: ALT Linux Community general discussions

Добрый день.

Логика инсталлера задана в пакете: installer-feature-network-shares-client
в котором сказано:

 pmconf="$destdir/etc/security/pam_mount.conf.xml"
 pamconf="$destdir/etc/pam.d/system-auth"

 msg "Insert settings to $pamconf to use pam_mount."

      append_after="$(sed -n '/^auth[[:space:]]\+required/=' "$pamconf" | tail -n 1)"
      test -n "$append_after" && sed -i -e "$append_after a auth     optional       pam_mount.so"  "$pamconf"

      append_after="$(sed -n '/^session[[:space:]]\+required/=' "$pamconf" | tail -n 1)"
      test -n "$append_after" && sed -i -e "$append_after a session  optional       pam_mount.so"  "$pamconf"

т.е. вставить после required.

Может кто-то другой из разработчиков знает почему у вас такой конфиг для PAM.

Денис Черносов:
> День добрый всем!
> 
> auth     optional          pam_mount.so
> auth     sufficient        pam_tcb.so shadow fork prefix=$2a$ count=8
> nullok use_first_pass
> auth     requisite         pam_succeed_if.so uid >= 500 quiet
> auth     required          pam_ldap.so use_first_pass
> 
> 
> В пятом бранче pam_mount, будучи поставленный первым в auth (а
> по-другому его заставить работать у меня не получилось), меняет строку
> запроса пароля и вместо просто "password:" пишет "pam_mount
> password:".
> 
> $ su -
> pam_mount password:
> 
> 
> На 4.1 такого не наблюдалось. Зачем понадобилось "кишки светить" перед
> юзерами и можно ли это поведение отключить по-простому?
> Пока сделал как в мануале написано, но смысл написанного для меня
> непрозрачен, а значит велик риск, что через пару месяцев буду смотреть
> на эти строчки в глубокой задумчивости:
> 
> 
> auth     [success=2 default=ignore]       pam_tcb.so shadow fork
> prefix=$2a$ count=8 nullok
> auth     requisite
> pam_succeed_if.so uid >= 500 quiet
> auth     [success=1 default=ignore]       pam_ldap.so use_first_pass
> auth     optional       pam_mount.so
> 
> 
> -- 
> С уважением,
> Черносов Денис
> _______________________________________________
> community mailing list
> community@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/community
--
 stanv -- http://andrusha.googlepages.com


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Comm] "pam_mount password:" - неаккуратненько как-то
  2009-06-22  6:41   ` Денис Черносов
@ 2009-06-22 16:48     ` Dmitry V. Levin
  2009-06-24  8:31       ` Денис Черносов
  0 siblings, 1 reply; 16+ messages in thread
From: Dmitry V. Levin @ 2009-06-22 16:48 UTC (permalink / raw)
  To: ALT Linux Community general discussions

[-- Attachment #1: Type: text/plain, Size: 6239 bytes --]

On Mon, Jun 22, 2009 at 11:41:36AM +0500, Денис Черносов wrote:
> 20 июня 2009 г. 4:38 пользователь Dmitry V. Levin (ldv@altlinux.org) написал:
> > On Fri, Jun 19, 2009 at 11:46:36AM +0500, Денис Черносов wrote:
> >> День добрый всем!
> >>
> >> auth     optional          pam_mount.so
> >> auth     sufficient        pam_tcb.so shadow fork prefix=$2a$ count=8
> >> nullok use_first_pass
> >> auth     requisite         pam_succeed_if.so uid >= 500 quiet
> >> auth     required          pam_ldap.so use_first_pass
> >>
> >> В пятом бранче pam_mount, будучи поставленный первым в auth (а
> >> по-другому его заставить работать у меня не получилось), меняет строку
> >> запроса пароля и вместо просто "password:" пишет "pam_mount
> >> password:".
> >
> > Не надо помещать pam_mount.so в стеке аутентификации до pam_tcb.so,
> > это не правильно по сути.
> 
> Согласен, мне это тоже кажется "неправильным по сути". Но в примере
> явно указано, что при аутентификации через ldap или winbind нужно
> модуль pam_mount ставить впереди...
> ----------------------
> #man pam_mount
> ....
>        When "sufficient" is used in the second column, you must make
> sure  that  pam_mount  is  added
>        before  this entry. Otherwise pam_mount will not get executed
> should a previous PAM module suc‐
>        ceed. Also be aware of the "include" statements. These make PAM
> look into the  specified  file.
>        If  there  is a "sufficient" statement, then the pam_mount
> entry must either be in the included
>        file before the "sufficient" statement or before the "include" statement.
> 
>        If you use pam_ldap, pam_winbind, or any other authentication
> services that make use  of  PAM's
>        sufficient keyword, model your configuration on the following order:
> 
>               ・・・
>               account sufficient  pam_ldap.so
>               auth    required    pam_mount.so
>               auth    sufficient  pam_ldap.so use_first_pass
>               auth    required    pam_unix.so use_first_pass
>               session optional    pam_mount.so
>               ・・・
> 
>        This allows for:
> 
>        1.  pam_mount,  as the first "auth" module, will prompt for a
> password and export it to the PAM
>            system.
> 
>        2.  pam_ldap will use the password from the PAM system to try
> and  authenticate  the  user.  If
>            this  succedes, the user will be authenticated. If it
> fails, pam_unix will try to authenti‐
>            cate.
> ....
> ------------------------------

Тут написано, что если вы добавляете что-то в стек после sufficient, то
есть ненулевая вероятность того, что это что-то не будет выполнено.  Это
утерждение верно, однако из него не следует, что необходимо что-то
добавлять перед sufficient.

> А второй вариант (см. ниже) указывается именно для таких как мы с вами :)
> -----------------------------
> ...
>        Alternatively, the following is possible (thanks to Andrew
> Morgan for the hint!):
> 
>               auth [success=2 default=ignore] pam_unix2.so
>               auth [success=1 default=ignore] pam_ldap.so use_first_pass
>               auth requisite pam_deny.so
>               auth optional pam_mount.so
> 
>        It  may  seem  odd, but the first three lines will make it so
> that at least one of pam_unix2 or
>        pam_ldap has to succeed. As you can see, pam_mount will be run
> after  successful  authentifica‐
>        tion with these subsystems.
> ...
> -----------------------------
> 
> Причем, оба этих варианта - рабочие.

Да, конечно.

> А вот если попытаться без затей
> поставить pam_mount после остальных модулей, то пароль запрашивается
> два раза. Причем даже при перезапуске демонов (веселуха service
> network restart - введи пароль...). И это не решается использованием
> опции use_first_pass.

Вы хотите сказать, что pam_mount не поддерживает use_first_pass?

> Единственное, что я не пробовал - это ставить строчку с account
> впереди строчек с auth. Потому что, насколько я понимаю, от этого
> ничего не изменится...

Конечно.

> >> auth     [success=2 default=ignore]       pam_tcb.so shadow fork prefix=$2a$ count=8 nullok
> >> auth     requisite pam_succeed_if.so uid >= 500 quiet
> >> auth     [success=1 default=ignore]       pam_ldap.so use_first_pass
> >> auth     optional       pam_mount.so
> >
> > Вы неправильно списали с pam_mount(8).  Чтобы понять, в чём ошибка,
> > придётся прочитать и понять pam.conf(5).
> 
> Ошибки нет. Этот вариант работает. Мой вопрос касается скорее
> эстетики, чем функциональности...

В этом варианте есть семантическая ошибка.  Попробуйте
- залогиниться ldap-пользователем;
- залогиниться несуществующим пользователем.

Дело в том, что формат pam.conf(5) желательно изучить для того, чтобы
понимать, как работает та или иная конструкция.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Comm] "pam_mount password:" - неаккуратненько как-то
  2009-06-22 16:48     ` Dmitry V. Levin
@ 2009-06-24  8:31       ` Денис Черносов
  2009-06-24 11:12         ` Dmitry V. Levin
  0 siblings, 1 reply; 16+ messages in thread
From: Денис Черносов @ 2009-06-24  8:31 UTC (permalink / raw)
  To: ALT Linux Community general discussions

22 июня 2009 г. 21:48 пользователь Dmitry V. Levin (ldv@altlinux.org) написал:
> Тут написано, что если вы добавляете что-то в стек после sufficient, то
> есть ненулевая вероятность того, что это что-то не будет выполнено.  Это
> утерждение верно, однако из него не следует, что необходимо что-то
> добавлять перед sufficient.

Именно это и следует, если верить мануалу:

>>        If you use pam_ldap, pam_winbind, or any other authentication
>> services that make use  of  PAM's
>>        sufficient keyword, model your configuration on the following order:

Перевод:
Если вы используете pam_ldap, pam_winbind или любой другой сервис
аутентификации, который использует опцию sufficient, ваш конфиг будет
выглядеть следующим образом:

>>               ・・・
>>               auth    required    pam_mount.so <-- Поставили в самом начале!!! До sufficient.
>>               auth    sufficient  pam_ldap.so use_first_pass
>>               auth    required    pam_unix.so use_first_pass
>>               ・・・

Т.е., получается, что pam_mount.so стоит первым, sufficient
pam_ldap.so - вторым и уже после них pam_unix.so (а в нашем случае
будет pam_tcb).

>> А вот если попытаться без затей
>> поставить pam_mount после остальных модулей, то пароль запрашивается
>> два раза. Причем даже при перезапуске демонов (веселуха service
>> network restart - введи пароль...). И это не решается использованием
>> опции use_first_pass.
>
> Вы хотите сказать, что pam_mount не поддерживает use_first_pass?

Именно это я и хочу сказать. Вряд ли была бы необходимость
использовать "[success=2 default=ignore]", если бы это было не так.

>> >> auth     [success=2 default=ignore]       pam_tcb.so shadow fork prefix=$2a$ count=8 nullok
>> >> auth     requisite pam_succeed_if.so uid >= 500 quiet
>> >> auth     [success=1 default=ignore]       pam_ldap.so use_first_pass
>> >> auth     optional       pam_mount.so
>> >
>> > Вы неправильно списали с pam_mount(8).  Чтобы понять, в чём ошибка,
>> > придётся прочитать и понять pam.conf(5).
>>
>> Ошибки нет. Этот вариант работает. Мой вопрос касается скорее
>> эстетики, чем функциональности...
>
> В этом варианте есть семантическая ошибка.  Попробуйте
> - залогиниться ldap-пользователем;
> - залогиниться несуществующим пользователем.

Попробовал. Никаких сюрпризов. Все работает. Может конкретно пояснить,
в каком месте "семантическая ошибка"?

> Дело в том, что формат pam.conf(5) желательно изучить для того, чтобы
> понимать, как работает та или иная конструкция.

Давайте не будем пальцы гнуть на ровном месте ;)
Повторяю, оба варианта рабочие. Настройки сделаны по аналогии с
мануалом (который я и процитировал). И если вы что-то заметили, не
соотв. другому ману, то поделитесь пожалуйста конкретикой, а не
посылайте искать черную кошку в темной комнате...

-- 
С уважением,
Черносов Денис


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Comm] "pam_mount password:" - неаккуратненько как-то
  2009-06-22 10:06 ` Andrew V. Stepanov
@ 2009-06-24  9:02   ` Денис Черносов
  0 siblings, 0 replies; 16+ messages in thread
From: Денис Черносов @ 2009-06-24  9:02 UTC (permalink / raw)
  To: ALT Linux Community general discussions

22 июня 2009 г. 15:06 пользователь Andrew V. Stepanov
(stanv@altlinux.ru) написал:
> Добрый день.
>
> Логика инсталлера задана в пакете: installer-feature-network-shares-client
> в котором сказано:
>
>  pmconf="$destdir/etc/security/pam_mount.conf.xml"
>  pamconf="$destdir/etc/pam.d/system-auth"
>
>  msg "Insert settings to $pamconf to use pam_mount."
>
>      append_after="$(sed -n '/^auth[[:space:]]\+required/=' "$pamconf" | tail -n 1)"
>      test -n "$append_after" && sed -i -e "$append_after a auth     optional       pam_mount.so"  "$pamconf"
>
>      append_after="$(sed -n '/^session[[:space:]]\+required/=' "$pamconf" | tail -n 1)"
>      test -n "$append_after" && sed -i -e "$append_after a session  optional       pam_mount.so"  "$pamconf"
>
> т.е. вставить после required.
>
> Может кто-то другой из разработчиков знает почему у вас такой конфиг для PAM.

Я знаю. Сам отлаживал. И получил два рабочих варианта. Которые
совпадают с тем, что написано в мануале.

Если у меня еще не окончательно всё смешалось, то из коробки должен
получаться такой вариант:

auth     sufficient     pam_tcb.so shadow fork prefix=$2a$ count=8 nullok
auth     requisite      pam_succeed_if.so uid >= 500 quiet
auth     required       pam_ldap.so use_first_pass
auth     optional        pam_mount.so

Но он не работает при доменных логинах. Точнее работает, но пароль
запрашивается два раза. Второй раз модулем pam_mount (он так и пишет
"reenter password for pam_mount:").
А опция use_first_pass этим модулем не принимается:

Jun 24 13:39:15 srv login[19369]: pam_mount(pam_mount.c:100): unknown
pam_mount option "use_first_pass"

И если я ничего не путаю, то это появилось именно после обновления до
5-го бранча (или даже во время одного из последних обновлений в пятом
бранче).


-- 
С уважением,
Черносов Денис

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Comm] "pam_mount password:" - неаккуратненько как-то
  2009-06-24  8:31       ` Денис Черносов
@ 2009-06-24 11:12         ` Dmitry V. Levin
  2009-06-25  6:27           ` Денис Черносов
  0 siblings, 1 reply; 16+ messages in thread
From: Dmitry V. Levin @ 2009-06-24 11:12 UTC (permalink / raw)
  To: ALT Linux Community general discussions

[-- Attachment #1: Type: text/plain, Size: 3312 bytes --]

On Wed, Jun 24, 2009 at 01:31:29PM +0500, Денис Черносов wrote:
> 22 июня 2009 г. 21:48 пользователь Dmitry V. Levin (ldv@altlinux.org) написал:
> > Тут написано, что если вы добавляете что-то в стек после sufficient, то
> > есть ненулевая вероятность того, что это что-то не будет выполнено.  Это
> > утерждение верно, однако из него не следует, что необходимо что-то
> > добавлять перед sufficient.
> 
> Именно это и следует, если верить мануалу:
> 
> >>        If you use pam_ldap, pam_winbind, or any other authentication
> >> services that make use  of  PAM's
> >>        sufficient keyword, model your configuration on the following order:
> 
> Перевод:
> Если вы используете pam_ldap, pam_winbind или любой другой сервис
> аутентификации, который использует опцию sufficient, ваш конфиг будет
> выглядеть следующим образом:
> 
> >>               ・・・
> >>               auth    required    pam_mount.so <-- Поставили в самом начале!!! До sufficient.
> >>               auth    sufficient  pam_ldap.so use_first_pass
> >>               auth    required    pam_unix.so use_first_pass
> >>               ・・・
> 
> Т.е., получается, что pam_mount.so стоит первым, sufficient
> pam_ldap.so - вторым и уже после них pam_unix.so (а в нашем случае
> будет pam_tcb).

Какой смысл выполнять pam_mount.so до аутентификации (pam_tcb.so/pam_ldap.so)?
Зачем вообще pam_mount.so помещать в стек аутентификации?

> >> >> auth     [success=2 default=ignore]       pam_tcb.so shadow fork prefix=$2a$ count=8 nullok
> >> >> auth     requisite pam_succeed_if.so uid >= 500 quiet
> >> >> auth     [success=1 default=ignore]       pam_ldap.so use_first_pass
> >> >> auth     optional       pam_mount.so
> >> >
> >> > Вы неправильно списали с pam_mount(8).  Чтобы понять, в чём ошибка,
> >> > придётся прочитать и понять pam.conf(5).
> >>
> >> Ошибки нет. Этот вариант работает. Мой вопрос касается скорее
> >> эстетики, чем функциональности...
> >
> > В этом варианте есть семантическая ошибка.  Попробуйте
> > - залогиниться ldap-пользователем;
> > - залогиниться несуществующим пользователем.
> 
> Попробовал. Никаких сюрпризов. Все работает. Может конкретно пояснить,
> в каком месте "семантическая ошибка"?

Например, если pam_ldap.so в стеке auth вернул success, то
какой модуль в стеке auth будет выполнен следующим?


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Comm] "pam_mount password:" - неаккуратненько как-то
  2009-06-24 11:12         ` Dmitry V. Levin
@ 2009-06-25  6:27           ` Денис Черносов
  2009-06-25 21:19             ` Dmitry V. Levin
  0 siblings, 1 reply; 16+ messages in thread
From: Денис Черносов @ 2009-06-25  6:27 UTC (permalink / raw)
  To: ALT Linux Community general discussions

24 июня 2009 г. 16:12 пользователь Dmitry V. Levin (ldv@altlinux.org) написал:
> On Wed, Jun 24, 2009 at 01:31:29PM +0500, Денис Черносов wrote:
> Какой смысл выполнять pam_mount.so до аутентификации (pam_tcb.so/pam_ldap.so)?
> Зачем вообще pam_mount.so помещать в стек аутентификации?

Если я монтирую ресурс, требующий аутентификации, то модулю pam_mount
нужен логин-пароль. Реальная аутентификация так и продолжает
происходить либо в pam_ldap либо в pam_tcb,  а pam_mount выступает в
роли прокси: запросил данные от своего имени, сохранил себе копию и
отправил далее по этапу.

Так я представляю себе эту ситуацию.


>> auth     [success=2 default=ignore]       pam_tcb.so shadow fork prefix=$2a$ count=8 nullok
>> auth     requisite pam_succeed_if.so uid >= 500 quiet
>> auth     [success=1 default=ignore]       pam_ldap.so use_first_pass
>> auth     optional       pam_mount.so

> Например, если pam_ldap.so в стеке auth вернул success, то
> какой модуль в стеке auth будет выполнен следующим?

Если я правильно расшифровываю, то [success=2 default=ignore]
означает, что при успешной авторизации pam_tcb отвечает success и
перескакивает через один модуль. Строчка requisite очевидно, не
считается (возможно она в таком случае вообще не сработает, но
поскольку не экспериментировал, утверждать не могу), а иначе ignore и
идем по порядку...

По порядку у нас [success=1 default=ignore] - если авторизация в ldap
(по полученным реквизитам из use_first_pass) успешна, то с результатом
success идем к следующему модулю. Если ignore, то на этом всё
прекращается, поскольку  pam_mount помечен, как optional, т.е.
вспомогательный.

Поправьте меня пожалуйста, где я неправ...

-- 
С уважением,
Черносов Денис

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Comm] "pam_mount password:" - неаккуратненько как-то
  2009-06-25  6:27           ` Денис Черносов
@ 2009-06-25 21:19             ` Dmitry V. Levin
  2009-06-25 23:23               ` Dmitry V. Levin
  2009-06-26  7:21               ` [Comm] "pam_mount password:" - неаккуратненько как-то Денис Черносов
  0 siblings, 2 replies; 16+ messages in thread
From: Dmitry V. Levin @ 2009-06-25 21:19 UTC (permalink / raw)
  To: ALT Linux Community general discussions

[-- Attachment #1: Type: text/plain, Size: 2117 bytes --]

On Thu, Jun 25, 2009 at 11:27:46AM +0500, Денис Черносов wrote:
> 24 июня 2009 г. 16:12 пользователь Dmitry V. Levin (ldv@altlinux.org) написал:
> > On Wed, Jun 24, 2009 at 01:31:29PM +0500, Денис Черносов wrote:
> > Какой смысл выполнять pam_mount.so до аутентификации (pam_tcb.so/pam_ldap.so)?
> > Зачем вообще pam_mount.so помещать в стек аутентификации?
> 
> Если я монтирую ресурс, требующий аутентификации, то модулю pam_mount
> нужен логин-пароль. Реальная аутентификация так и продолжает
> происходить либо в pam_ldap либо в pam_tcb,  а pam_mount выступает в
> роли прокси: запросил данные от своего имени, сохранил себе копию и
> отправил далее по этапу.
> 
> Так я представляю себе эту ситуацию.

Если модулю pam_mount нужен пароль, то ему нужно присутствовать в стеке
аутентификации.  Но пока основные модули аутентификации не дали своё
добро, pam_mount не должен вмешиваться.

Вы, конечно, правы в том, что использование sufficient вынуждает помещать
pam_mount.so в стек перед sufficient.  Это значит, что вместо sufficient
лучше использовать переходы, как предложил Andrew Morgan, только тогда надо
указывать правильные значения для переходов.

Пожалуй, я попробую заменить в system-auth* все sufficient на переходы.

> >> auth     [success=2 default=ignore]       pam_tcb.so shadow fork prefix=$2a$ count=8 nullok
> >> auth     requisite pam_succeed_if.so uid >= 500 quiet
> >> auth     [success=1 default=ignore]       pam_ldap.so use_first_pass
> >> auth     optional       pam_mount.so
> 
> > Например, если pam_ldap.so в стеке auth вернул success, то
> > какой модуль в стеке auth будет выполнен следующим?
> 
> Если я правильно расшифровываю, то [success=2 default=ignore]
> означает, что при успешной авторизации pam_tcb отвечает success и
> перескакивает через один модуль.

Нет.  Давайте почитаем pam.conf(5) вместе.  Там написано, что
"The actionN can be: an unsigned integer, n, signifying an action of ’jump
over the next n modules in the stack’".

Как правильно перевести фразу "jump over the next n modules in the stack"
при n == 2?


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Comm] "pam_mount password:" - неаккуратненько как-то
  2009-06-25 21:19             ` Dmitry V. Levin
@ 2009-06-25 23:23               ` Dmitry V. Levin
  2009-06-26  7:41                 ` Денис Черносов
  2009-06-26  7:21               ` [Comm] "pam_mount password:" - неаккуратненько как-то Денис Черносов
  1 sibling, 1 reply; 16+ messages in thread
From: Dmitry V. Levin @ 2009-06-25 23:23 UTC (permalink / raw)
  To: ALT Linux Community general discussions

[-- Attachment #1: Type: text/plain, Size: 1642 bytes --]

On Fri, Jun 26, 2009 at 01:19:16AM +0400, Dmitry V. Levin wrote:
> On Thu, Jun 25, 2009 at 11:27:46AM +0500, Денис Черносов wrote:
> > 24 июня 2009 г. 16:12 пользователь Dmitry V. Levin (ldv@altlinux.org) написал:
> > > On Wed, Jun 24, 2009 at 01:31:29PM +0500, Денис Черносов wrote:
> > > Какой смысл выполнять pam_mount.so до аутентификации (pam_tcb.so/pam_ldap.so)?
> > > Зачем вообще pam_mount.so помещать в стек аутентификации?
> > 
> > Если я монтирую ресурс, требующий аутентификации, то модулю pam_mount
> > нужен логин-пароль. Реальная аутентификация так и продолжает
> > происходить либо в pam_ldap либо в pam_tcb,  а pam_mount выступает в
> > роли прокси: запросил данные от своего имени, сохранил себе копию и
> > отправил далее по этапу.
> > 
> > Так я представляю себе эту ситуацию.
> 
> Если модулю pam_mount нужен пароль, то ему нужно присутствовать в стеке
> аутентификации.  Но пока основные модули аутентификации не дали своё
> добро, pam_mount не должен вмешиваться.
> 
> Вы, конечно, правы в том, что использование sufficient вынуждает помещать
> pam_mount.so в стек перед sufficient.  Это значит, что вместо sufficient
> лучше использовать переходы, как предложил Andrew Morgan, только тогда надо
> указывать правильные значения для переходов.
> 
> Пожалуй, я попробую заменить в system-auth-* все sufficient на переходы.

Можете попробовать взять новые system-auth-* прямо из репозитория
http://git.altlinux.org/people/ldv/packages/?p=pam-config.git;a=tree;f=pam-config
добавить optional pam_mount.so в конец стеков auth и session,
потестировать и рассказать о впечатлениях.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Comm] "pam_mount password:" - неаккуратненько как-то
  2009-06-25 21:19             ` Dmitry V. Levin
  2009-06-25 23:23               ` Dmitry V. Levin
@ 2009-06-26  7:21               ` Денис Черносов
  2009-06-26 19:05                 ` Dmitry V. Levin
  1 sibling, 1 reply; 16+ messages in thread
From: Денис Черносов @ 2009-06-26  7:21 UTC (permalink / raw)
  To: ALT Linux Community general discussions

26 июня 2009 г. 2:19 пользователь Dmitry V. Levin (ldv@altlinux.org) написал:
>> >> auth     [success=2 default=ignore]       pam_tcb.so shadow fork prefix=$2a$ count=8 nullok
>> >> auth     requisite pam_succeed_if.so uid >= 500 quiet
>> >> auth     [success=1 default=ignore]       pam_ldap.so use_first_pass
>> >> auth     optional       pam_mount.so
>>
> Нет.  Давайте почитаем pam.conf(5) вместе.  Там написано, что
> "The actionN can be: an unsigned integer, n, signifying an action of 'jump
> over the next n modules in the stack'".
>
> Как правильно перевести фразу "jump over the next n modules in the stack"
> при n == 2?

Да, вы правы. Получается, что в моем случае нужно указывать так:

auth     [success=2 default=ignore]       pam_tcb.so shadow fork
prefix=$2a$ count=8 nullok
auth     requisite pam_succeed_if.so uid >= 500 quiet
auth     [success=0 default=ignore]       pam_ldap.so use_first_pass
auth     optional       pam_mount.so

-- 
С уважением,
Черносов Денис


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Comm] "pam_mount password:" - неаккуратненько как-то
  2009-06-25 23:23               ` Dmitry V. Levin
@ 2009-06-26  7:41                 ` Денис Черносов
  2009-06-26 19:10                   ` Dmitry V. Levin
  2009-06-26 21:48                   ` [Comm] pam-config-1.5.0-alt1 Dmitry V. Levin
  0 siblings, 2 replies; 16+ messages in thread
From: Денис Черносов @ 2009-06-26  7:41 UTC (permalink / raw)
  To: ALT Linux Community general discussions

26 июня 2009 г. 4:23 пользователь Dmitry V. Levin (ldv@altlinux.org) написал:

> Можете попробовать взять новые system-auth-* прямо из репозитория
> http://git.altlinux.org/people/ldv/packages/?p=pam-config.git;a=tree;f=pam-config
> добавить optional pam_mount.so в конец стеков auth и session,
> потестировать и рассказать о впечатлениях.

Скопировал себе system-auth-ldap (с полной заменой возиться не стал,
уж простите), поправил как вы сказали. Пока полет нормальный.  И
выглядит гораздо симпатичнее :)

Только я один момент до конца не уловил: будет ли в такой постановке
для локального пользователя проверяться условие: "pam_succeed_if.so
uid >= 500 quiet" ?

И еще один вопрос еще меня волнует (для повышения образованности).
Если я захочу модулем pam_mount прикручивать сетевые домашние
каталоги, то в каком порядке должны стоять pam_mount, pam_mktemp,
pam_limits и mk_homedir? Ведь по идее нужно сначала попытаться
прикрутить каталог, а уже потом проверять его наличие и создавать в
нем временную папку...

-- 
С уважением,
Черносов Денис

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Comm] "pam_mount password:" - неаккуратненько как-то
  2009-06-26  7:21               ` [Comm] "pam_mount password:" - неаккуратненько как-то Денис Черносов
@ 2009-06-26 19:05                 ` Dmitry V. Levin
  0 siblings, 0 replies; 16+ messages in thread
From: Dmitry V. Levin @ 2009-06-26 19:05 UTC (permalink / raw)
  To: ALT Linux Community general discussions

[-- Attachment #1: Type: text/plain, Size: 1229 bytes --]

On Fri, Jun 26, 2009 at 12:21:47PM +0500, Денис Черносов wrote:
> 26 июня 2009 г. 2:19 пользователь Dmitry V. Levin (ldv@altlinux.org) написал:
> >> >> auth     [success=2 default=ignore]       pam_tcb.so shadow fork prefix=$2a$ count=8 nullok
> >> >> auth     requisite pam_succeed_if.so uid >= 500 quiet
> >> >> auth     [success=1 default=ignore]       pam_ldap.so use_first_pass
> >> >> auth     optional       pam_mount.so
> >>
> > Нет.  Давайте почитаем pam.conf(5) вместе.  Там написано, что
> > "The actionN can be: an unsigned integer, n, signifying an action of 'jump
> > over the next n modules in the stack'".
> >
> > Как правильно перевести фразу "jump over the next n modules in the stack"
> > при n == 2?
> 
> Да, вы правы. Получается, что в моем случае нужно указывать так:
> 
> auth     [success=2 default=ignore]       pam_tcb.so shadow fork
> prefix=$2a$ count=8 nullok
> auth     requisite pam_succeed_if.so uid >= 500 quiet
> auth     [success=0 default=ignore]       pam_ldap.so use_first_pass
> auth     optional       pam_mount.so

Не совсем так.  Хотя бы один модуль аутентификации (последний в стеке)
не должен быть проигнорирован.  В данном случае это pam_ldap.so


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Comm] "pam_mount password:" - неаккуратненько как-то
  2009-06-26  7:41                 ` Денис Черносов
@ 2009-06-26 19:10                   ` Dmitry V. Levin
  2009-06-26 21:48                   ` [Comm] pam-config-1.5.0-alt1 Dmitry V. Levin
  1 sibling, 0 replies; 16+ messages in thread
From: Dmitry V. Levin @ 2009-06-26 19:10 UTC (permalink / raw)
  To: ALT Linux Community general discussions

[-- Attachment #1: Type: text/plain, Size: 1501 bytes --]

On Fri, Jun 26, 2009 at 12:41:46PM +0500, Денис Черносов wrote:
> 26 июня 2009 г. 4:23 пользователь Dmitry V. Levin (ldv@altlinux.org) написал:
> 
> > Можете попробовать взять новые system-auth-* прямо из репозитория
> > http://git.altlinux.org/people/ldv/packages/?p=pam-config.git;a=tree;f=pam-config
> > добавить optional pam_mount.so в конец стеков auth и session,
> > потестировать и рассказать о впечатлениях.
> 
> Скопировал себе system-auth-ldap (с полной заменой возиться не стал,

system-auth-use_first_pass-ldap за компанию тоже надо было взять,
некоторые службы его используют.

> уж простите), поправил как вы сказали. Пока полет нормальный.  И
> выглядит гораздо симпатичнее :)
> 
> Только я один момент до конца не уловил: будет ли в такой постановке
> для локального пользователя проверяться условие: "pam_succeed_if.so
> uid >= 500 quiet" ?

Для локального (обслуживаемого pam_tcb.so) не должно и не будет,
для остальных будет.

> И еще один вопрос еще меня волнует (для повышения образованности).
> Если я захочу модулем pam_mount прикручивать сетевые домашние
> каталоги, то в каком порядке должны стоять pam_mount, pam_mktemp,
> pam_limits и mk_homedir? Ведь по идее нужно сначала попытаться
> прикрутить каталог, а уже потом проверять его наличие и создавать в
> нем временную папку...

pam_mktemp и pam_limits ортогональны домашним каталогам.
Что касается взаимного порядка pam_mkhomedir и pam_mount, то
это зависит от ваших целей.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [Comm] pam-config-1.5.0-alt1
  2009-06-26  7:41                 ` Денис Черносов
  2009-06-26 19:10                   ` Dmitry V. Levin
@ 2009-06-26 21:48                   ` Dmitry V. Levin
  1 sibling, 0 replies; 16+ messages in thread
From: Dmitry V. Levin @ 2009-06-26 21:48 UTC (permalink / raw)
  To: ALT Linux Community general discussions

[-- Attachment #1: Type: text/plain, Size: 701 bytes --]

On Fri, Jun 26, 2009 at 12:41:46PM +0500, Денис Черносов wrote:
> 26 июня 2009 г. 4:23 пользователь Dmitry V. Levin (ldv@altlinux.org) написал:
> 
> > Можете попробовать взять новые system-auth-* прямо из репозитория
> > http://git.altlinux.org/people/ldv/packages/?p=pam-config.git;a=tree;f=pam-config
> > добавить optional pam_mount.so в конец стеков auth и session,
> > потестировать и рассказать о впечатлениях.
> 
> Скопировал себе system-auth-ldap (с полной заменой возиться не стал,
> уж простите), поправил как вы сказали. Пока полет нормальный.  И
> выглядит гораздо симпатичнее :)

Я так и думал.
Спасибо за тестирование, pam-config-1.5.0-alt1 отправлен в Сизиф.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2009-06-26 21:48 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-19  6:46 [Comm] "pam_mount password:" - неаккуратненько как-то Денис Черносов
2009-06-19 23:38 ` Dmitry V. Levin
2009-06-22  6:41   ` Денис Черносов
2009-06-22 16:48     ` Dmitry V. Levin
2009-06-24  8:31       ` Денис Черносов
2009-06-24 11:12         ` Dmitry V. Levin
2009-06-25  6:27           ` Денис Черносов
2009-06-25 21:19             ` Dmitry V. Levin
2009-06-25 23:23               ` Dmitry V. Levin
2009-06-26  7:41                 ` Денис Черносов
2009-06-26 19:10                   ` Dmitry V. Levin
2009-06-26 21:48                   ` [Comm] pam-config-1.5.0-alt1 Dmitry V. Levin
2009-06-26  7:21               ` [Comm] "pam_mount password:" - неаккуратненько как-то Денис Черносов
2009-06-26 19:05                 ` Dmitry V. Levin
2009-06-22 10:06 ` Andrew V. Stepanov
2009-06-24  9:02   ` Денис Черносов

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git