Настраиваю авторизацию через LDAP с монтированием домашних каталогов через pam_mount + sshfs.
pam_mount.conf.xml
<volume
fstype="fuse"
path="echo sshfs#%(USER)@hostname:"
mountpoint="/home/%(USER)"
options="password_stdin,nonempty,sshfs_debug,debug,loglevel=debug,UserKnownHostsFile=/dev/null,StrictHostKeyChecking=no,IdentitiesOnly=yes,IdentityFile=/dev/null,PubkeyAuthentication=no,ssh_command=ssh -F /dev/null -v,idmap=user"
/>
auth sufficient pam_localuser.so
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth optional pam_env.so debug
auth optional pam_script.so pam_script_auth
auth optional pam_mount.so
auth sufficient pam_ldap.so use_first_pass
auth required pam_unix.so use_first_pass
auth required pam_deny.so
account required pam_unix.so broken_shadow
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account sufficient pam_ldap.so use_first_pass
account required pam_permit.so
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password sufficient pam_ldap.so use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_ldap.so
session optional pam_mount.so
Да, я знаю что конфигурация PAM кривая. Монтируется каталог успешно, пользователю доступен, но pam_mount не «отпускает» терминал, продолжая вываливать лог sshfs. Пробовал вместо password_stdin использовать устаревший ключ ssh=«1», но тогда ssh валится с Connection reset by peer по видимому от недостатка интерактивности - доступны только pubkey и keyboard-interactive. Хотя руками через sshpass и fd0ssh пароль прокинуть вроде получается. SELinux выключен. Подумываю уже выкинуть pam_mount и монтировать через pam_script. Есть лучше идеи?