Samba mount com prompt de senha como usuário não root

13

Eu quero montar um compartilhamento SMB protegido por senha (servido por uma máquina Windows). O compartilhamento é protegido por um nome de usuário e senha, e eu não posso escrever a senha em um arquivo, eu quero ser solicitado a senha no momento da montagem.

Eu preciso de uma solução que funcione mesmo quando o usuário na máquina cliente não tiver privilégios administrativos, portanto, qualquer método usado para montar o compartilhamento não deve permitir que ele obtenha permissões de root. A instalação inicial pode ser feita como root. Os usuários devem poder especificar nomes arbitrários de servidores. Minha necessidade imediata é com o Ubuntu 12.04, mas quanto mais ampla for a solução, melhor.

O cliente está sem cabeça, então estou procurando uma ferramenta de linha de comando.

O que eu tentei:

  • mount.cifs : embora possa ser feito com raiz setuid, seus autores não consideram seguro . Executá-lo em sudo tem o mesmo problema.
  • smbnetfs , fusesmb : não consegui convencer nenhum deles a solicitar uma senha.
  • Nautilus e gvfs: gvfs-mount smb://servername/sharename falha com Error mounting location: volume doesn't implement mount .

Como posso montar um compartilhamento Samba na linha de comando, como um usuário não-root, com um prompt de senha?

    
por Gilles 27.07.2012 / 17:48

2 respostas

16

"Erro ao montar o local: o volume não implementa a montagem", aparentemente, significa "eu preciso do D-Bus, mas não está disponível". (Obrigado ao colega guru do venturax por esta informação.) Dentro de uma sessão SSH, eu posso usar gvfs-mount desde que dbus-daemon é lançado primeiro e a variável de ambiente DBUS_SESSION_BUS_ADDRESS está definida.

export $(dbus-launch)
gvfs-mount smb://workgroupname\;username@hostname/sharename
# Type password
ls ~/.gvfs/'sharename on hostname'

gvfs-mount e outros utilitários GVFS devem todos falar com a mesma sessão do D-Bus. Portanto, se você usar várias sessões SSH ou usar montagens em sessões de login, deverá:

  • inicie o D-Bus na primeira vez que for necessário, o mais tardar;
  • tome cuidado para não permitir que o D-Bus termine com a sessão, contanto que existam sistemas de arquivos GVFS montados;
  • reutilize a sessão do D-Bus existente no momento do login, se houver uma.

Veja Reutilize as sessões do D-Bus nas sessões de login por isso.

    
por 30.07.2012 / 20:35
1

O SMBNetFS usa o chaveiro do Gnome por padrão. Todas as senhas inseridas e salvas no keyring do Gnome durante a navegação pelos compartilhamentos do Samba no Nautilus devem ser usadas automaticamente. Portanto, se o armazenamento de senhas no chaveiro do Gnome estiver correto, o SMBNetFS é mais conveniente. Monta automaticamente toda a vizinhança da rede. Esta informação é do arquivo de configuração do SMBNetFS, mas eu não testei, pois não uso o Gnome.

Em relação ao uso do chaveiro do Gnome sem o X11, consulte uso do gnome-keyring-daemon sem X .

    
por 22.07.2014 / 20:37