Автор Тема: Не происходит размонтирование шар pam_mount  (Прочитано 908 раз)

Оффлайн zhukovia

  • Завсегдатай
  • *
  • Сообщений: 23
Установлен + freeipa (на другой машине). ipa-client настроен и работает, пользователи freeipa servera могут подключаться.Так же настроил монтирование дисков через pam_mount, но есть проблемы.
1. При выходе пользователя из Xfce не отсоединяются шары, но подключаются нормально.
2. Если заходить по SSH то шары не подключаются.
В чем может быть причина? Уже второй день не могу разобраться.
Вот немного конфигов. Скажите что ещё надо.
pam_mount.conf.xml
<volume fstype="cifs" server="192.168.101.253" path="general" mountpoint="~/net_files/general" options="noexec,iocharset=utf8,rw" />
/etc/pam.d/system-auth-sss-only
#%PAM-1.0

auth           required     pam_sss.so
auth           optional     pam_mount.so
account       required    pam_sss.so
password     required    pam_sss.so
session        required    pam_sss.so
session        optional    pam_mount.so

Пробовал ставить и до pam_sss.so, не помогло

Оффлайн zhukovia

  • Завсегдатай
  • *
  • Сообщений: 23
Скажите что ещё надо показать.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 007
    • Email
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 007
    • Email
а вообще, похоже большинство перешли на autofs, чего и вам советую...
Сноси Винду, переходи на Линукс ! :)

Оффлайн zhukovia

  • Завсегдатай
  • *
  • Сообщений: 23
system-auth
#%PAM-1.0

auth<--><------>[success=4 perm_denied=ignore default=die]<---->pam_localuser.so
auth<--><------>[success=1 default=bad]>pam_succeed_if.so uid >= 500 quiet
auth<--><------>[default=1]<--->pam_permit.so
auth<--><------>substack<------>system-auth-sss-only
auth<--><------>[default=1]<--->pam_permit.so
auth<--><------>substack<------>system-auth-local-only
auth<--><------>substack<------>system-auth-common


account><------>[success=4 perm_denied=ignore default=die]<---->pam_localuser.so
account><------>[success=1 default=bad]>pam_succeed_if.so uid >= 500 quiet
account><------>[default=1]<--->pam_permit.so
account><------>substack<------>system-auth-sss-only
account><------>[default=1]<--->pam_permit.so
account><------>substack<------>system-auth-local-only
account><------>substack<------>system-auth-common

password<------>[success=4 perm_denied=ignore default=die]<---->pam_localuser.so
password<------>[success=1 default=bad]>pam_succeed_if.so uid >= 500 quiet
password<------>[default=1]<--->pam_permit.so
password<------>substack<------>system-auth-sss-only
password<------>[default=1]<--->pam_permit.so
password<------>substack<------>system-auth-local-only
password<------>substack<------>system-auth-common

session><------>[success=4 perm_denied=ignore default=die]<---->pam_localuser.so
session><------>[success=1 default=bad]>pam_succeed_if.so uid >= 500 quiet
session><------>[default=1]<--->pam_permit.so
session><------>substack<------>system-auth-sss-only
session><------>[default=1]<--->pam_permit.so
session><------>substack<------>system-auth-local-only
session><------>substack<------>system-auth-common


Оффлайн zhukovia

  • Завсегдатай
  • *
  • Сообщений: 23
а вообще, похоже большинство перешли на autofs, чего и вам советую...
Спасибо, посмотрю. Но что то пока мне кажется что не очень подходит. Мне нужно, чтобы у разных пользователей и групп монтировались разные каталоги, а здесь похоже один на всех.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 18 639
    • Домашняя страница
    • Email
У ssh может быть другой стек PAM.
Андрей Черепанов (cas@)

Оффлайн zhukovia

  • Завсегдатай
  • *
  • Сообщений: 23
У ssh может быть другой стек PAM.
Подскажите куда копать хотя бы, уже третий день блуждаю. У меня есть настроенная Ubuntu в которой все прекрасно работает, подключается и отключается и в иксах и SSH. Но никак не могу понять где искать отличия в конфигах.
К тому же не подключение в SSH, не объясняет не отключение в Иксах.
Я заметил небольшое отличие в логах отключения сессии в Ubuntu и Altlinux. В Altlinux после непосредственно выхода пользователя через 10 сек запускается еще процесс Stopping User Manager for UID. Т.е. ещё 10 сек висят процессы от имени пользователя. Может они не дают размонтировать, но где смотреть не знаю.
В самом начале отключения в логах следующее
авг 28 17:40:20 test.sibpush.local xrdp-sesman[5076]: [INFO ] Calling auth_stop_session and auth_end from pid 5076
авг 28 17:40:20 test.sibpush.local xrdp-sesman[5076]: (pam_mount.c:706): received order to close things
авг 28 17:40:20 test.sibpush.local xrdp-sesman[5076]: (pam_mount.c:706): received order to close things
авг 28 17:40:20 test.sibpush.local xrdp-sesman[5076]: command: '/usr/sbin/pmvarrun' '-u' 'zhukovia' '-o' '-1'
авг 28 17:40:20 test.sibpush.local xrdp-sesman[5076]: command: '/usr/sbin/pmvarrun' '-u' 'zhukovia' '-o' '-1'
авг 28 17:40:20 test.sibpush.local xrdp-sesman[5429]: (pmvarrun.c:254): parsed count value 6
авг 28 17:40:20 test.sibpush.local xrdp-sesman[5076]: (pam_mount.c:441): pmvarrun says login count is 5
авг 28 17:40:20 test.sibpush.local xrdp-sesman[5076]: (pam_mount.c:441): pmvarrun says login count is 5
авг 28 17:40:20 test.sibpush.local xrdp-sesman[5076]: (pam_mount.c:734): zhukovia seems to have other remaining open sessions
авг 28 17:40:20 test.sibpush.local xrdp-sesman[5076]: (pam_mount.c:734): zhukovia seems to have other remaining open sessions
Как я понимаю, не может размонтироваться потому что ещё есть процесы.
Вот весь pam-mount.conf.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
<!--
<------>See pam_mount.conf(5) for a description.
-->
<pam_mount>
<------><------><!-- debug should come before everything else,
<------><------>since this file is still processed in a single pass
<------><------>from top-to-bottom -->

<debug enable="1" />

<------><------><!-- Volume definitions -->

<------><volume fstype="cifs" server="192.168.101.253" path="general" mountpoint="~/net_files/general" options="noexec,iocharset=utf8,rw,ssh=1" />

<------><------><!-- pam_mount parameters: General tunables -->

<!--
<luserconf name=".pam_mount.conf.xml" />
-->

<!-- Note that commenting out mntoptions will give you the defaults.
     You will need to explicitly initialize it with the empty string
     to reset the defaults to nothing. -->
<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other,sec" />
<!--
<mntoptions deny="suid,dev" />
<mntoptions allow="*" />
<mntoptions deny="*" />
-->
<mntoptions require="nosuid,nodev" />

<!-- requires ofl from hxtools to be present -->
<logout wait="0" hup="no" term="no" kill="no" />
<------><------><!-- pam_mount parameters: Volume-related -->
<mkmountpoint enable="1" remove="true" />
</pam_mount>
Попробовал менять параметр <logout wait="0" hup="no" term="no" kill="no" /> на <logout wait="50000" hup="yes" term="yes" kill="yes" /> но ничего не поменялось.
Подскажите что ещё попробовать?

Оффлайн zhukovia

  • Завсегдатай
  • *
  • Сообщений: 23
Можно чем то заменить pam_mount?
Мне нужно чтобы у пользователей при входе подключались Самба шары, а при выходе отключались. При этом у разных пользователей (и групп) разный набор шар (у некоторых вообще нет).
Я нашел autofs и systemd_mount, но не нашел у них возможность разделять по пользователям и группам. Может плохо смотрел?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 18 639
    • Домашняя страница
    • Email
gvfs-shares
Андрей Черепанов (cas@)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 007
    • Email
zhukovia
похоже вы всё же не дочитали тред...
решение было тут https://forum.altlinux.org/index.php?topic=42837.msg340542#msg340542
по крайней мере в моём случае, это сработало
<logout wait="0" hup="no" term="no" kill="no" />
в альтах нет пакета ofl, можно даже не пытаться использовать эти опции, они не работают без этого пакета
перечитайте ещё раз тред по ссылке, полностью, пожалуйста
Сноси Винду, переходи на Линукс ! :)

Оффлайн zhukovia

  • Завсегдатай
  • *
  • Сообщений: 23
<logout wait="0" hup="no" term="no" kill="no" />
в альтах нет пакета ofl, можно даже не пытаться использовать эти опции, они не работают без этого пакета
перечитайте ещё раз тред по ссылке, полностью, пожалуйста
Это я уже понял, прочитал всю ветку.

zhukovia
похоже вы всё же не дочитали тред...
решение было тут https://forum.altlinux.org/index.php?topic=42837.msg340542#msg340542
по крайней мере в моём случае, это сработало
В моем случае не получилось. Если я правильно понял, то вот это решение.
password required pam_sss.so

session [success=1 default=ignore]  pam_succeed_if.so  service = systemd-user quiet
session    optional   pam_mount.so
-session optional pam_keyinit.so revoke
-session optional pam_systemd.so
В моём случае все осталось как прежде. Может что то у нас отличается, но где посмотреть, не знаю.
У меня стоит alt-p10-server-systemd

Оффлайн zhukovia

  • Завсегдатай
  • *
  • Сообщений: 23
gvfs-shares
Если я правильно понял, то это что то типа mount только Гномовский и мне надо будет каждому пользователю прописывать шары и писать скрипт для их подключения? Информации что то не сильно много про это в интернете. И что с отключениями шар?
Пока пытаюсь настроить.

Оффлайн zhukovia

  • Завсегдатай
  • *
  • Сообщений: 23
gvfs-shares
Ничего не могу подключить. Инструкций нет, а просмотр скрипта ничего не даёт. В нем указана программа для монтирования  gvfs-mount, а такого файла нет в системе. Есть программы типа gvfsd-*, но как с этим работать непонятно. Ткните носом меня, может я смотрю не там..

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 18 639
    • Домашняя страница
    • Email
gvfs-shares
Ничего не могу подключить. Инструкций нет, а просмотр скрипта ничего не даёт. В нем указана программа для монтирования  gvfs-mount, а такого файла нет в системе. Есть программы типа gvfsd-*, но как с этим работать непонятно. Ткните носом меня, может я смотрю не там..
Это простой скрипт, использующий gio с версии 1.2. Он читает общесистемный файл для всех пользователей (/etc/gvfs.shares) или для отдельного пользователя $HOME/.gvfs.shares. Соответственно, эти файлы заполняются из-под root или отдельного пользователя.
В файлах просто пути, указываемые команде gio mount для монтирования. Размонтирование можно сделать командой gvfs umount, которая вызывает gio mount -u.
Андрей Черепанов (cas@)