web-dev-qa-db-fra.com

Configuration pour le montage du répertoire personnel nfs kerberisé - gssd ne trouvant pas de ticket kerberos valide

Nos répertoires personnels sont exportés via nfs kerberisés. L’utilisateur a donc besoin d’un ticket kerberos valide pour pouvoir monter son domicile. Cette configuration fonctionne bien avec nos clients et serveurs existants.

A présent, nous voulons ajouter du client 11.10 et configurer ainsi ldap & kerberos avec pam_mount. L'authentification LDAP fonctionne et les utilisateurs peuvent se connecter via SSH, mais leur domicile ne peut pas être monté.

Lorsque pam_mount est configuré pour monter en tant que root, gssd ne trouve pas de ticket kerberos valide et le montage échoue.

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

Lorsque pam_mount est par contre configuré avec l'option noroot = 1, il ne peut pas monter le volume du tout.

Nov 22 17:33:58 zelda sshd[2226]: pam_krb5(sshd:auth): user phy65678 authenticated as [email protected]
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

Alors, comment pouvons-nous permettre aux utilisateurs d’un groupe spécifique d’effectuer des montages nfs? Si cela ne fonctionne pas, pouvons-nous faire en sorte que pam_mount utilise root mais transmette le bon uid?

17
jan bernlöhr

Voir ce fil:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=190267

S'il n'y a pas d'option "utilisateur" dans fstab, seul root peut monter des volumes. Il y a quelques commentaires dans mount.c sur la possibilité d'exécuter la commande de montage par n'importe quel utilisateur, mais cela a été rejeté par le responsable (le commentaire en dit long sur les implications pour la sécurité, mais n'est pas plus spécifique).

Contrairement à l'amont d'origine, la version Debian de libpam-mount exécute les commandes de montage avec l'utilisateur , et non en tant que root. Faire des montages spécifiés par l'utilisateur en tant que root est une faille de sécurité. Tout utilisateur peut ensuite monter un volume sur/usr ou/tmp lors de la connexion, ou démonter tout autre volume lors de la déconnexion.

Ou en d'autres termes, libpam-mount ne peut faire que ce que l'utilisateur peut faire, rien de plus.

Donc, des suggestions?

Mettre une entrée utilisateur dans fstab devrait le faire. S'il vous plaît dites-moi comment cela fonctionne. Notez que d'autres systèmes de fichiers (ncp, smb) ont des fichiers binaires de montage pouvant être appelés par l'utilisateur, tels que smbmount ou ncpmount. Il ne semble rien avoir de tel pour les montages en boucle: /

2