SMB/CIFS + AUTOFS

INTRODUÇÃO

Como apresentado Brito: Compartilhamentos MS/Windows em GNU/Linux, o SMB/CIFS é uma ferramenta que habilita a montagem de sistemas de arquivos em compartilhamentos MS Windows remotos em máquina local linux, de forma transparente para o usuário.


INSTALANDO O EM REDHAT-LIKE

sudo yum install samba-client samba-common autofs



INSTALANDO O SSHFS EM DEBIAN-LIKE

sudo aptitude install samba-client samba-common autofs; ou
sudo apt-get install samba-client samba-common autofs;


Automontagem

Para realizar a automontagem faz-se necessário os locais pré-definidos, ou seja os diretórios que receberam as montagem remotas.

mkdir /media/sshfs


Configuração autofs

Os arquivos principais de configuração do autofs são /etc/auto.master e o arquivo de mapeamento, que usaremos o /etc/auto.sshfs.

E para iniciar a configuração faz-se necessário descobrir o userid, do usuário que tomará o processo.

Exemplo: Se por ventura o usuário brito será responsável pelo processo do autofs, deve-se utilizar userid deste usuário.

Como descobrir o userid

  • com o comando id:
    id brito
    uid=1000(brito) gid=1000(brito) grupos=1000(brito),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare)
    No campo uid=1000
  • com funcionalidades do bash:
    grep brito /etc/passwd
    brito:x:1000:1000:Ricardo Brito,,,:/home/brito:/bin/bash
    No terceiro campo :1000

configurar /etc/auto.master

No arquivo /etc/auto.master, é definido o mapa base de automantagem para autofs, e qual usuário será responsável pelo processo, usando o uid identificado anteriormente.

Este trecho abaixo deve ser acrescentado no arquivo.
/media/sshfs /etc/auto.sshfs uid=1000,gid=1000,--timeout=30,--ghost

Para cada arquivo de mapeamento deve ser acrescentado uma linha com suas configurações.



configurar /etc/auto.sshfs

O arquivo de mapeamento não exite, deve ser criado no ato de sua configuração.

Neste arquivo são definidos as permissões de cada compartilhamento.
mountpoint -fstype=fuse,rw,nodev,nonempty,allow_other,reconnect,uid=1000,
gid=1000,max_read=65536,compression=yes,auto_cache,no_check_root,
kernel_cache :sshfs\#user@RemoteHost\:/remotedir

o mountpoint é o nome do diretório dinâmico que conterá o dados remotos, passando a existir a estrura /media/sshfg/mountpoint.

Exemplo:
cdes_log -fstype=cifs,rw,username=uslog,password=1423 ://RemoteHost/remotedir
cdes_log: identificação local do compartilhamento remoto;
-fstype: permissões para o compartilhamento remoto no sistema de arquivos local;
cifs: tipo sistema de arquivos a ser mountado;
username=uslog,password=1423: usuário e senha
://10.100.0.28: RemoteHost
/logcdes: remotedir

Exemplo resumido:
cdes_log -fstype=cifs,rw,username=uslog,password=senha#123 ://10.10.10.28/log


Referencias

Brito: Montando Compartilhamento Sob SSH (Secure Shell) em Shell
Conexão com chaves assimétricas sem uso de senha em servidor sshd

Comentários