From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_00, MIME_CHARSET_FARAWAY, SPF_PASS autolearn=ham version=3.2.5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=bFP+LnUT5nWy3Nyl/kjA7tsyBQWZvie3eG+vM8lWqCA=; b=chHVixv7XIIlX4iZxd5XWz1I7tQWtnYao/bIuHwwHw1yHss5h0zhlrDHhvcpZYcIwH 79nc6NUFyb0irfwNHTgbB+yby7z0LvNSnGvfioSQnNKF7fmjwAP7pZpdyD1s3SebIrVN jZqycvxEEeEo4At6kkSPHW5FC+PLfymtPrVqM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=usixgW2dSQiN+fjCKUfacw3oLOrZhrwJihpcNOrpwpHPOsidi1NzFMw70qBHJrUl7T YkxPqyKtCMGqXeQAj9yLS6II/8w0SQaX0p6udC6/rIKgq+DH3IimNF/Ro2NBBRMRvVW2 4ACqFmSqLlfWEHy6Pjm1+epaQGNANITh3xnDQ= MIME-Version: 1.0 In-Reply-To: <20090619233836.GA15680@wo.int.altlinux.org> References: <20090619233836.GA15680@wo.int.altlinux.org> Date: Mon, 22 Jun 2009 11:41:36 +0500 Message-ID: From: =?KOI8-R?B?5MXOydMg/sXSzs/Tz9c=?= To: ALT Linux Community general discussions Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Subject: Re: [Comm] =?koi8-r?b?InBhbV9tb3VudCBwYXNzd29yZDoiIC0gzsXBy8vV0sHU?= =?koi8-r?b?zsXO2MvPIMvByy3Uzw==?= X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Community general discussions List-Id: ALT Linux Community general discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Jun 2009 06:41:55 -0000 Archived-At: List-Archive: List-Post: 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, и вы попали под горячую руку. :) Не всегда получается задать удачный вопрос, чтобы получить полезный ответ ;) -- С уважением, Черносов Денис