Настройка для монтирования домашней директории kerberized nfs - gssd не находит действительный билет Kerberos
Наши домашние каталоги экспортируются через Kerberized NFS, поэтому пользователю нужен действительный билет Kerberos, чтобы иметь возможность смонтировать свой дом. Эта установка прекрасно работает с нашими существующими клиентами и сервером.
Теперь мы хотим добавить клиент 11.10 и, таким образом, настроить ldap & kerberos вместе с pam_mount. Аутентификация ldap работает, и пользователи могут войти через ssh, однако их дома не могут быть смонтированы.
Когда pam_mount настроен для монтирования от имени пользователя root, gssd не находит действительный билет Kerberos, и монтирование завершается неудачно.
Nov 22 17:34:26 zelda rpc.gssd[929]: handle_gssd_upcall: 'mech=krb5 uid=0 enctypes=18,17,16,23,3,1,2 '
Nov 22 17:34:26 zelda rpc.gssd[929]: handling krb5 upcall (/var/lib/nfs/rpc_pipefs/nfs/clnt2)
Nov 22 17:34:26 zelda rpc.gssd[929]: process_krb5_upcall: service is '<null>'
Nov 22 17:34:26 zelda rpc.gssd[929]: getting credentials for client with uid 0 for server purple.physcip.uni-stuttgart.de
Nov 22 17:34:26 zelda rpc.gssd[929]: CC file '/tmp/krb5cc_65678_Ku2226' being considered, with preferred realm 'PURPLE.PHYSCIP.UNI-STUTTGART.DE'
Nov 22 17:34:26 zelda rpc.gssd[929]: CC file '/tmp/krb5cc_65678_Ku2226' owned by 65678, not 0
Nov 22 17:34:26 zelda rpc.gssd[929]: WARNING: Failed to create krb5 context for user with uid 0 for server purple.physcip.uni-stuttgart.de
Nov 22 17:34:26 zelda rpc.gssd[929]: doing error downfall
Когда pam_mount настроен с параметром noroot=1, он вообще не может подключить том.
Nov 22 17:33:58 zelda sshd[2226]: pam_krb5(sshd:auth): user phy65678 authenticated as phy65678@PURPLE.PHYSCIP.UNI-STUTTGART.DE
Nov 22 17:33:58 zelda sshd[2226]: Accepted password for phy65678 from 129.69.74.20 port 51875 ssh2
Nov 22 17:33:58 zelda sshd[2226]: pam_unix(sshd:session): session opened for user phy65678 by (uid=0)
Nov 22 17:33:58 zelda sshd[2226]: pam_mount(mount.c:69): Messages from underlying mount program:
Nov 22 17:33:58 zelda sshd[2226]: pam_mount(mount.c:73): mount: only root can do that
Nov 22 17:33:58 zelda sshd[2226]: pam_mount(pam_mount.c:521): mount of /Volumes/home/phy65678 failed
Итак, как мы можем разрешить пользователям определенной группы выполнять монтирование nfs? Если это не работает, можем ли мы заставить pam_mount использовать root, но передать правильный uid?
1 ответ
Смотрите эту тему:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=190267
Если в fstab нет опции "user", то только root может монтировать тома. В mount.c есть некоторый комментарий о том, чтобы сделать команду монтирования исполняемой любым пользователем, но она была отвергнута сопровождающим (комментарий говорит что-то о последствиях для безопасности, но не более конкретно).
В отличие от исходного апстрима, версия libpam-mount для Debian выполняет команды монтирования с пользовательским uid, а не с правами root. Выполнение пользовательских монтирований от имени root является дырой в безопасности. Затем любой пользователь может подключить том к / usr или / tmp при входе в систему или отключить любой другой том при выходе из системы.
Или, другими словами, libpam-mount может делать только то, что может делать пользователь, и ничего более.
Итак, есть предложения?
Помещение пользовательской записи в fstab должно сделать это. Пожалуйста, скажите мне, как это работает. Обратите внимание, что другие файловые системы (ncp, smb) имеют вызываемые пользователем двоичные файлы монтирования, такие как smbmount или ncpmount. Для петлевых монтировок, похоже, ничего подобного: /