LINUX.ORG.RU
решено ФорумAdmin

pam_mount ждёт завершения sshfs

 , , , ,


0

1

Настраиваю авторизацию через 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"
	/>
system-auth-ac
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. Есть лучше идеи?

Ответ на: комментарий от Deleted

Работает вроде как. Но я так понял чтобы использовать тот же пароль, что и для входа в систему, надо autofs прикручивать к SSSD, а у него TLS для LDAP'а обязательный.

droserasprout ★★ ()
Ответ на: комментарий от droserasprout

Ну сделать сомоподписанные сертификаты не такая уж большая проблема.

И еще, у ssh есть ключ, с которым он в бэкграунде запускается, по моему -f, или -n, по идее с ним должно отпустить терминал.

Deleted ()
Последнее исправление: MyLittleLoli (всего исправлений: 1)
Ответ на: комментарий от Deleted

Не проблема, но хочется всё же pam_mount добить.

С ключом -f:

debug1: Authentication succeeded (keyboard-interactive)
debug1: Requesting no-more-sessions@openssh
debug1: forking to background
read: Connection reset by peer

droserasprout ★★ ()
Ответ на: комментарий от Deleted

Всё оказалось гораздо проще.

   FUSE options:
       -d   -o debug
              enable debug output (implies -f)
       -f     foreground operation
Спасибо за помощь, дружище!

droserasprout ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.