Автор Тема: Автомонтирование SMB ресурсов при логине, когда нет AD домена.  (Прочитано 5160 раз)

Оффлайн Nicom

  • Завсегдатай
  • *
  • Сообщений: 621
Решил попробовать на предприятии использовать 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 модулей в этом дистрибутиве, поэтому прошу указать на неточности моего решения, если они есть.
« Последнее редактирование: 17.06.2018 00:58:35 от Nicom »

Оффлайн Nicom

  • Завсегдатай
  • *
  • Сообщений: 621
Откуда на starterkit KDE5 в файле /etc/security/pam_mount.conf.xml эти строки, учиывая то, что в ALT P8K workstation их нет?
# 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>
 ##############################################################
Я не нахожу у себя файла 70-network-shares-samba.sh, откуда он берётся?
Почему минимальный uid пользователя здесь равен 5000, а не 500?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Это installer feature – пакет из установщика, который запускается и удаляется во время установки.
Рассчитан на использование с  http://altlinux.org/Домен.
Андрей Черепанов (cas@)