Monte um compartilhamento de Samba usando o tíquete Kerberos

2

Eu tenho um servidor Samba (que é o controlador de domínio) e um cliente Ubuntu 14.04 com um usuário logado que é autenticado pelo Kerberos (o cliente ingressou no domínio com o Likewise). O usuário deseja acessar um compartilhamento de rede com este comando:

mount.cifs //DOMAIN/PATH /HOME/USER/PATH -o sec=krb5

Mas com (ou sem) o parâmetro 'sec', o comando mount solicita a senha. Se eu digitar minha senha, posso montar o compartilhamento, mas quero montá-lo sem senha.

Como posso fazer isso com meu tíquete Kerberous válido?

    
por mbalint987 30.05.2016 / 16:09

2 respostas

3

Se você estiver fazendo login com um usuário de domínio do Windows, um ticket do Kerberos já será solicitado. Você pode testá-lo executando klist .

Para reutilizar este ticket, você precisa adicionar a opção user e cruid à sua ordem de montagem. Dessa forma, você não precisa inserir nenhuma credencial novamente.

sudo mount -t cifs -o user=$USER,cruid=$USER,sec=krb5 //domain/path /home/path

Para montar o compartilhamento com seu usuário como proprietário (e, portanto, com permissão de gravação), adicione as opções gid e uid .

sudo mount -t cifs -o user=$USER,cruid=$USER,sec=krb5,gid=$GID,uid=$UID //domain/path /home/path

Você obtém seu $GID executando id -g $USER e seu $UID por id -u $USER .

Pode ser que você tenha que apt-get install keyutils para fazer isso funcionar.

    
por 16.08.2017 / 08:45
2

Primeiro, tente -o vers=1 . O cliente SMB2 do kernel tem apenas muito recentemente ganho suporte ao Kerberos - no Ubuntu 14.04, somente o kernel 4.4.x o terá.

Em segundo lugar, verifique se os binários request-key e cifs.upcall estão instalados e que o último é mencionado em /etc/request-key.conf (ou /etc/request-key.d/ ):

create cifs.spnego * * /usr/bin/cifs.upcall %k

Por fim, verifique o log do sistema ( /var/log/debug ou journalctl -b ) para mensagens de cifs.upcall e verifique se ele está procurando seus tickets no local correto. Na verdade, não sabe qual processo está acessando o compartilhamento e o que $ KRB5CCNAME ele tem, então ele precisa adivinhar alguns lugares comuns.

De fato, se você executar mount via sudo, o processo de montagem (executado como uid 0) não terá nenhum tíquetes por padrão; um sudo kinit separado pode ser necessário.

    
por 30.05.2016 / 17:01