Configuração para a montagem do diretório inicial do kerberized nfs - o gssd não encontra o ticket kerberos válido

17

Nossos diretórios pessoais são exportados via nfs kerberizados, portanto, o usuário precisa de um tíquete válido do kerberos para poder montar sua casa. Essa configuração funciona bem com nossos clientes e servidores existentes.

Agora queremos adicionar um cliente 11.10 e, assim, configurar o ldap & kerberos junto com o pam_mount. A autenticação ldap funciona e os usuários podem efetuar login via ssh, no entanto, suas casas não podem ser montadas.

Quando pam_mount está configurado para montar como root, o gssd não encontra um ticket válido do kerberos e a montagem falha.

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

Por outro lado, quando pam_mount está configurado com a opção noroot = 1, ele não pode montar o volume.

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

Então, como podemos permitir que usuários de um grupo específico realizem montagens nfs? Se isso não funcionar, podemos fazer o pam_mount usar root, mas passar o uid correto?

jan bernlöhr
fonte
Este mesmo problema aplica-se a montagem de compartilhamentos CIFS com-osec=krb5
AdmiralNemo
De fato, esse problema ainda não foi resolvido. Devo criar outra pergunta com o mesmo título e conteúdo ou o que você quer dizer com "repassar"?
jan bernlöhr
Pensei que, com nfs kerberizados, você monta como root (com o keytab do sistema), mas o acesso ao arquivo é feito com o ticket de cada usuário.
Jayen
comment- consulta removido irá monitorar
Ringtail
Você está montando /home /home/userou /home/user/mountpoint? Acho que o primeiro precisa ser feito antes do login. O segundo que tentei fazer com o sshfs, mas continuava falhando no login do GDM e do lightdm e não acho que foi culpa do sshfs. O terceiro deve funcionar, você só precisa adicionar o usuário a um grupo que tem permissão para fazer montagens NFS. Por favor, deixe-me saber se você conseguir o segundo para trabalhar. Eu estaria interessado.
precisa saber é o seguinte

Respostas:

2

Veja este tópico:

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

Se não houver opção de "usuário" no fstab, apenas o root poderá montar volumes. Há algum comentário no mount.c sobre como tornar o comando mount executável por qualquer usuário, mas esse foi rejeitado pelo mantenedor (o comentário diz algo sobre implicações de segurança, mas não é mais específico).

Ao contrário do upstream original, a versão Debian do libpam-mount executa comandos de montagem com o usuário uid, não como root. Fazer montagens especificadas pelo usuário como raiz é uma falha de segurança. Qualquer usuário poderia montar um volume em / usr ou / tmp no login ou desmontar qualquer outro volume no logout.

Ou, em outras palavras, a libpam-mount pode fazer apenas coisas que o usuário pode fazer, nada mais.

Então, alguma sugestão?

Colocar uma entrada de usuário no fstab deve fazê-lo. Por favor me diga como isso funciona. Observe que outros sistemas de arquivos (ncp, smb) possuem binários de montagem que podem ser chamados pelo usuário, como smbmount ou ncpmount. Não parece nada assim para montagens de loopback: /

Aleksander Adamowski
fonte