Maneira correta de montar o compartilhamento de samba

7

Eu gostaria de montar um sistema de arquivos de rede CIFS com o samba no meu sistema Arch Linux. Eu gostaria de montar este sistema de arquivos sempre que eu logar (seja através de ssh, um TTY ou através do KDM).

Eu posso chegar bem perto do que quero adicionando o compartilhamento de rede a /etc/fstab . O maior "problema" é que isso exige a codificação da minha senha em /etc/fstab ou a criação de um arquivo de credenciais com meu nome de usuário e senha. Parece inseguro para mim manter meu nome de usuário e senha em um arquivo de texto simples, mesmo se eu definir as permissões para 600.

Existe uma maneira "correta" de automontar com segurança um compartilhamento de rede? Posso fazer isso com o PAM (meu nome de usuário e senha são os mesmos em ambas as máquinas) e, em caso afirmativo, como?

    
por StrongBad 08.07.2013 / 13:30

2 respostas

2

Acontece que pam_mount é o caminho a percorrer. Você adiciona o compartilhamento de rede a /etc/security/pam_mount.conf.xml

<volume user="yourUserName" fstype="auto" path="//path/to/the/network/share" mountpoint="/path/to/the/mount/point" options="username=yourUserName" />
<mkmountpoint enable="1" remove="true" />

Deve ser teoricamente possível usar as variáveis %(USER) , %(USERUID) e %(USERGID) para torná-lo uma montagem geral, mas não consegui fazer com que essa parte funcionasse no Arch Linux. Você também precisa configurar seu sistema para usar pam_mount . Você precisa modificar o /etc/pam.d/system-auth e seu gerenciador de login correspondente. Para o KDM, é /etc/pam.d/kde . As modificações basicamente envolvem a adição de optional pam_mount.so a cada seção de ambos os arquivos, mas os detalhes exatos são complicados, já que a ordem é importante. Eu segui o Arch Wiki .

Com essa configuração e o mesmo nome de usuário / senha no servidor e na minha máquina, posso montar automaticamente sem salvar um arquivo de credenciais em qualquer lugar.

    
por 19.07.2013 / 18:16
7

Método 1 - /etc/fstab

Sei que você está procurando alternativas para isso, mas aqui está especificamente como obter suas credenciais do arquivo /etc/fstab :

//WindowsHost/Sharename /LocalMountPoint cifs credentials=/etc/cifsauth 0 0

Em seguida, no arquivo /etc/cifsauth :

username=someuser
password=somepass

Faça as permissões deste arquivo 600 , ou seja, chmod 600 /etc/cifsauth .

Método 2 - pam_mount

Você pode instalar o pam_mount e, em seguida, configurar uma montagem genérica para todos os usuários que fizerem login como este:

# /etc/security/pam_mount.conf.xml
<debug enable="1" />
<volume server="server" path="music" mountpoint="~/MyMusicFolder" options="cred=/home/%(USER)/.Music.cred" />

Este método ainda tem o mesmo problema do método # 1, em que as credenciais são armazenadas em um arquivo, /home/%(USER)/.Music.cred . Esse é o mesmo tipo de arquivo de credencial que no primeiro método, portanto, verifique se as permissões também são 600.

Método # 3 - use gvfs-mount

Este U & Q e amp; A intitulado: Posso automatizar a montagem de um compartilhamento cifs sem armazenar minha senha em texto simples? contém uma resposta de @Gilles que descreve o uso de Keyring do GNOME para manter suas credenciais CIFS.

Você pode acessar os compartilhamentos CIFS usando o GVFS - Sistema de arquivos virtual do GNOME - assim:

$ gvfs-mount smb://username\;workgroupname@hostname/sharename

Isso mapeará o compartilhamento do hostname chamado sharename e o montará em $HOME/.vfs/sharename on hostname . Você não pode controlar isso de qualquer forma. É codificado para sempre ser montado aqui, eu olhei!

Você pode, no entanto, criar links para essas montagens, que é o que eu faço para que eu possa acessar os compartilhamentos que eu montei. O uso de .gvfs foi infeliz porque algumas ferramentas não listam os diretórios de pontos no arquivo navegando com tanta frequência que o link que criei é a única maneira de acessar esses compartilhamentos.

    
por 08.07.2013 / 13:40

Tags