Решил попробовать на предприятии использовать AltLinux Starter KDE5 вместо OpenSuSE. В нашей сети нет контроллера домена и мы даже не знаем что такое Active Directory, но есть Samba серверы, шАры от которых нужно монтировать на компьютеры пользователей при входе в систему.
Попробовал настроить pam_mount так как это делал в OpenSuSE, не получилось, слишком большая разница в файлах в каталоге /etc/pam.d/. Монтирование происходило несколько раз в момент логина, шАры монтировались, но в журнале был мусор. При выходе пользователя не происходило размонтирование ресурсов.
На ресурсе
Talk:Pam_mount было найдено решение,
Move pam_mount from system-auth to system-login config.
Приводим файл
/etc/pam.d/common-login к указанному виду
#%PAM-1.0
auth substack system-auth
auth required pam_nologin.so
auth optional pam_mount.so
account substack system-auth
account required pam_nologin.so
password include system-auth
password optional pam_mount.so
session substack system-auth
session [success=1 default=ignore] pam_succeed_if.so service = systemd-user quiet
session optional pam_mount.so
session required pam_loginuid.so
-session optional pam_systemd.so
После чего редактируем
/etc/security/pam_mount.conf.xml закомментировав блок
# inserted by 70-network-shares-samba.sh и добавив свои ресурсы после строки
<!-- Volume definitions --><?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="0" />
<!-- # inserted by 70-network-shares-samba.sh #####################
<volume uid="5000-10000" fstype="cifs" dnssd_lookup="1" mountpoint="/home/%(USER)/share" options="sec=krb5,cruid=%(USERUID)" />
<cifsmount>/sbin/mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o %(OPTIONS)</cifsmount>
<cifsumount>/sbin/umount.cifs %(MNTPT)</cifsumount>
############################################################## -->
<!-- Volume definitions -->
<volume uid="500-503" fstype="cifs" server="ourftp" path="obmen" mountpoint="/mnt/obmen" />
<volume uid="500-503" fstype="cifs" server="ourftp" path="%(USER)" mountpoint="/mnt/%(USER)" />
<!-- 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" /> -->
<logout wait="1000" hup="no" term="yes" kill="yes" />
<!-- pam_mount parameters: Volume-related -->
<mkmountpoint enable="1" remove="true" />
</pam_mount>
Теперь при локальном логине в tty, или в графическое окружение, монтирование происходит только один раз, при выходе ресурсы нормально отмонтируются. При входе по ssh монтирование не производится.
Я понимаю, что не вижу всей картины взаимосвязей pam модулей в этом дистрибутиве, поэтому прошу указать на неточности моего решения, если они есть.