<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; [решено]Помогите с pam_mount]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=6034</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=6034&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «[решено]Помогите с pam_mount».]]></description>
		<lastBuildDate>Wed, 25 Aug 2010 13:44:22 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: [решено]Помогите с pam_mount]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=83543#p83543</link>
			<description><![CDATA[<p>Вообщем, я свое предложение описал. Когда-то с помощью autofs делал монтирование например домашнего каталога пользователя по нфс при входе в систему, при этом учетка была в лдапе на другой машине. Поэтому принципиальной невозможности использовать autofs в Вашем случае не вижу. Но решать Вам, в конце концов.</p>]]></description>
			<author><![CDATA[null@example.com (Hrafn)]]></author>
			<pubDate>Wed, 25 Aug 2010 13:44:22 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=83543#p83543</guid>
		</item>
		<item>
			<title><![CDATA[Re: [решено]Помогите с pam_mount]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=83540#p83540</link>
			<description><![CDATA[<div class="quotebox"><cite>Hrafn пишет:</cite><blockquote><p>с autofs можно сделать автоматическое подключение разделов при логине пользователя... и флешки и сидюки тут не при чем... самба, нфс и т.д. работают, и для них в первую очередь это и делается</p></blockquote></div><p>Насколько я понял из второй ссылки - эта вещь хороша, если точим её на рабочую станцию, на _персональный_ компьютер.&nbsp; Где работает только _один_ юзер, заранее известный. Здесь нет проблемы. Запиши вообще нужные шары в fstab, mount -a и вообще можно не париться. У меня задача несколько иная. Юзера будут работать на _сервере_. Одновременно. И при этом на этом сервере каждому юзеру надо получить ремутные шары с третьего сервера, каждому свой набор. И регистрироваться на этом третьем сервере они должны под своими уникальными именами. Каждый под своим. И вот здесь как раз pam_mount и хорош. Позволяет настроить как раз такое персональное монтирование для одновременно работающих на сервере юзерей. Каждому в свои персональные точки монтирования. И он у меня почти работает. Но только для su. И я, пока, не знаю двух вещей:<br />1. Как сказать pam_mount&#039;у, чтобы он не спрашивал у юзера пароли, пусть полагается на то, что в конфигурации записано, пусть, если надо, mount спросит пароль.<br />2. Как научить работать с pam_mount остальные приложения. У меня, почему-то запись в /etc/pam.d/login соответсвующих слов из man&#039;a эффекта не вызывает. Юзер по ssh как коннектился, так и коннектится, а шары, при этом, ему не монтируются.</p><p>Это первое. А второе - попытался повторить то, что во второй ссылке прописано (в принципе там несложно скрипты развить в нужную сторону). Увы, Собралась в каталоге /cifs только файловая структура тех шар, что эксопортирует ремутный файловый сервер. Но сами шары - не смонтировались и в каталоги - не зайти...&nbsp; Разбираться пока не стал.</p>]]></description>
			<author><![CDATA[null@example.com (Cruiser78)]]></author>
			<pubDate>Wed, 25 Aug 2010 13:40:46 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=83540#p83540</guid>
		</item>
		<item>
			<title><![CDATA[Re: [решено]Помогите с pam_mount]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=83480#p83480</link>
			<description><![CDATA[<p>с autofs можно сделать автоматическое подключение разделов при логине пользователя... и флешки и сидюки тут не при чем... самба, нфс и т.д. работают, и для них в первую очередь это и делается</p>]]></description>
			<author><![CDATA[null@example.com (Hrafn)]]></author>
			<pubDate>Wed, 25 Aug 2010 11:44:48 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=83480#p83480</guid>
		</item>
		<item>
			<title><![CDATA[Re: [решено]Помогите с pam_mount]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=83479#p83479</link>
			<description><![CDATA[<div class="quotebox"><cite>Hrafn пишет:</cite><blockquote><p>Я бы вообще посмотрел в сторону autofs</p></blockquote></div><p>Нет. autofs - это несколько другое. Он хорош для динамического подключения вставляемых флешек или сидюков на рабочей станции пользователя. А у меня цель иная - пользователь со своей станции коннектится, например, так:</p><div class="codebox"><pre><code>ssh -С -X user@server &quot;script&quot; </code></pre></div><p>и в этом скрипте происходит динамическое монтирование ремутных файловых шар на _сервер_ в какой либо (например, в домашний) каталог юзера на этом сервере и, что важно, с юзерским аккаунтом, далее зпускается нужное X-приложение этому юзеру (с выводом на его рабочий стол), а по завершению работы - всё размонтируется взад. </p><p>То есть некое подобие статического монтирования сетевых папок в WinXP от имени юзера надо сотворить.</p><p>Я не хочу монтировать шары на сервере перманентно и давать на эти точки монтирования &quot;коллективный&quot; доступ.</p><p>Если бы я знал, как запустить mount от имени юзера, а не от рута, то и проблем бы не было. А так - на помощь приходит pam_mount. И он почти работает. По крайней мере в команде su... Значит и в других процедурах должен отрабатывать.</p>]]></description>
			<author><![CDATA[null@example.com (Cruiser78)]]></author>
			<pubDate>Wed, 25 Aug 2010 11:41:53 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=83479#p83479</guid>
		</item>
		<item>
			<title><![CDATA[Re: [решено]Помогите с pam_mount]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=83463#p83463</link>
			<description><![CDATA[<p>Я бы вообще посмотрел в сторону autofs<br /><a href="http://linux.lg.ua/wiki/index.php/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_autofs">http://linux.lg.ua/wiki/index.php/%D0%A … %B0_autofs</a><br /><a href="http://www.howtoforge.com/accessing_windows_or_samba_shares_using_autofs">http://www.howtoforge.com/accessing_win … ing_autofs</a></p>]]></description>
			<author><![CDATA[null@example.com (Hrafn)]]></author>
			<pubDate>Wed, 25 Aug 2010 11:20:59 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=83463#p83463</guid>
		</item>
		<item>
			<title><![CDATA[[решено]Помогите с pam_mount]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=83461#p83461</link>
			<description><![CDATA[<p>Добрый день!</p><p>Нужет совет знатоков. Постановка задачи следующая:</p><p>Делаем потихоньку сервер то-ли терминальный, то-ли приложений... Как получится. А получиться должно следующее: когда пользователь заходит на сервер (не важно как, по ssh или по VNC), то есть когда проходит аутентификацию на этом сервере ему должны быть смонтированы [в его домашний каталог] ремутные шары с различных файловых ресурсов, на которых он имеет свои учетные записи. В общем случае имена в аккаунтах могут и не совпадать.&nbsp; Однако регистрироваться на этих файловых серверах юзер должен под своим уникальным там именем.<br />Курим на эту тему pam_mount. Но, видимо, табак слишком крепкий или я чего не понимаю. А именно:</p><p>1. вписываем в /etc/security/pam_mount.conf.xml заветные строки:</p><div class="codebox"><pre><code>&lt;volume user=&quot;alex&quot;  fstype=&quot;cifs&quot; server=&quot;fileserver&quot; path=&quot;BD&quot; mountpoint=&quot;/home/%(USER)/Net/BD&quot; options=&quot;user=user1,rw,wine,nounix,noperm,pass=user1_pass&quot; /&gt;
&lt;volume user=&quot;ivan&quot;  fstype=&quot;cifs&quot; server=&quot;fileserver&quot; path=&quot;BD&quot; mountpoint=&quot;/home/%(USER)/Net/BD&quot; options=&quot;user=stepan,rw,wine,nounix,noperm&quot; /&gt;
&lt;volume user=&quot;stepan&quot; fstype=&quot;cifs&quot; server=&quot;fileserver&quot; path=&quot;BD&quot; mountpoint=&quot;/home/%(USER)/Net/BD&quot; options=&quot;user=stepan,rw,wine,nounix,noperm&quot; /&gt;</code></pre></div><p> <br />То есть имеем трех юзерей:<br />a. Имя на шаре не совпадает с регистрационным именем и есть пароль на шару<br />б. Имя на шаре не&nbsp; совпадает с регистрационным именем. Пароля на шаре нет.<br />в. Имя на шаре&nbsp; совпадает с регистрационным именем. Пароля на шаре нет.<br />И добавляем команду монтирования по cifs следующего вида<br /></p><div class="codebox"><pre><code>&lt;cifsmount&gt;mount -t cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o %(OPTIONS)&quot;&lt;/cifsmount&gt;</code></pre></div><p>2. Корректируем /etc/pam.d/su (с него начать проще) добавляя в него следующие строки:<br /></p><div class="codebox"><pre><code>auth       optional   pam_mount.so use_first_pass
session optional  pam_mount.so</code></pre></div><p>3.1. даем команду su alex и получаем:<br /></p><div class="codebox"><pre><code># su alex
reenter password for pam_mount:
pam_mount(mount.c:64): Errors from underlying mount program:
pam_mount(mount.c:68): password specified twice, ignoring second
HX_exit: reference count is already zero!</code></pre></div><p>Во первых, непонятно зачем оно переспрашивает у меня пароль. Ведь его задача (и которую он честно выполняет судя по отладочному выводу) сформировать и исполнить нужную команду mount -t... И он её и формирут впоследствии. Но зачем он спрашивает у меня этот пароль??? Его задача исполнить сформированную команду, так как она записана. Пусть она пароль и спрашивает, если что...<br />Источник ошибок примерно понятен - в пароле есть символ &quot;!&quot; - как его заэкранировать? Если я просто даю команду mount.cifs, то она в командной строке (из скрипта) прекрасно скушивает этот символ. Если убираю запись &quot;pass=user1_pass&quot; - то и ошибок нет, вывод - как ниже. Или он ругается на &quot;pass=&quot;?</p><p>3.2. Тренируем беспарольного юзера su ivan (stepan):<br /></p><div class="codebox"><pre><code># su ivan
reenter password for pam_mount:
HX_exit: reference count is already zero!</code></pre></div><p>опять же спрашивает пароль... А его нет...<br />=========================================================================<br />Итак вопрос первый: как отучить pam_mount спрашивать про пароли и как правильно задать эти пароли в OPTIONS?</p><p>И вопрос второй - а какие именно файлы нужно подправить в /etc/pam.d для того, чтобы каталоги монтировались юзеру при входе его в систему?</p><p>Ну и третий вопрос - А что есть такое &quot;HX_exit: reference count is already zero!&quot;? Это сильно страшно или просто так сообщение?<br />************************************<br />Путь решения: <br />1. не стоит вписывасть имя пользователя и его пароль на ремутном файловом сервере в строку <br /></p><div class="codebox"><pre><code>&lt;volume user=&quot;alex&quot;  fstype=&quot;cifs&quot; server=&quot;fileserver&quot; path=&quot;BD&quot; mountpoint=&quot;/home/%(USER)/Net/BD&quot; options=&quot;user=user1,rw,wine,nounix,noperm,pass=user1_pass&quot; /&gt;</code></pre></div><p>Вместо этого надо создать в удобном месте соответствующий credential-файл (man mount.cifs) и вписать его в поле options. Естественно, права на этот файл исключительно рутовые...<br />2 скопировать файлы /etc/pam.d/system-auth-ac и /etc/pam.d/password-auth-ac в, например,&nbsp; /etc/pam.d/system-auth-ac-mount и /etc/pam.d/password-auth-ac-mount, и создать на них соответствующие симлинки. С этими последними файлами и будем настраивать работу с pam_mount в нужных нам программах ( если su, то в /etc/pam.d/su меняем имя стандартного симлика на свое). Для нормальной работы надо исправить файлы /etc/pam.d/login /etc/pam.d/sshd, /etc/gdm и /etc/gdm-password. Использование pam_mount в команде su для меня остется под вопросом. Так как мне пока не удалось отучить pam_mount от запросе пароля юзера, если он привязан к su и &quot;su user&quot; вызывается от рута.&nbsp; &nbsp;<br />3. Должным образом новые файлы /etc/pam.d/system-auth-ac-mount и /etc/pam.d/password-auth-ac-mount вставляя в них, в нужных местах (это важно!, нужно попасть в правильное места стека pam&#039;ов) вызовы pam_mount.so.</p><p>4. Получаем удовольствие от проделанной работы. Никаких повторных запросов паролей нет. Точнее главный запрос пароля будет заменен запросом пароля от pam_mount.&nbsp; Может и есть возможность измениния этой фразы (чтобы свою кухню юзерам не светить попусту) но я её не знаю.</p><p>Правда, в логах не совсем чисто:<br /></p><div class="codebox"><pre><code>Aug 26 16:38:01 admin-lvs kernel: type=1400 audit(1282826281.585:15): avc:  denied  { module_request } for  pid=3539 comm=&quot;sshd&quot; kmod=&quot;net-pf-10&quot; scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:system_r:kernel_t:s0 tclass=system
Aug 26 16:38:04 admin-lvs sshd[3539]: pam_mount(pam_mount.c:172): conv-&gt;conv(...): Conversation error
Aug 26 16:38:04 admin-lvs sshd[3539]: pam_mount(pam_mount.c:476): warning: could not obtain password interactively either
Aug 26 16:38:04 admin-lvs sshd[3539]: pam_mount(pam_mount.c:172): conv-&gt;conv(...): Conversation error
Aug 26 16:38:04 admin-lvs sshd[3539]: pam_mount(pam_mount.c:476): warning: could not obtain password interactively either
Aug 26 16:38:07 admin-lvs kernel: type=1400 audit(1282826287.278:16): avc:  denied  { getattr } for  pid=3539 comm=&quot;sshd&quot; path=&quot;/home/ivan/Net/BD&quot; dev=cifs ino=524289 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:cifs_t:s0 tclass=dir</code></pre></div><p>Коллеги, знатоки SELinux, подскажите, как SE надо подточить, чтобы эти (admin-lvs kernel) сообщения? Я в SE не силен совершенно.</p>]]></description>
			<author><![CDATA[null@example.com (Cruiser78)]]></author>
			<pubDate>Wed, 25 Aug 2010 11:15:05 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=83461#p83461</guid>
		</item>
	</channel>
</rss>
