Montagem permanente de compartilhamentos usando o fstab

Montagem permanente de compartilhamentos usando o fstab
Além de usar programas como Smb4K e o módulo smb:/ do Konqueror para acessar os compartilhamentos a partir dos clientes Linux, é possível também fazer com que eles sejam montados automaticamente durante o boot, adicionando as entradas apropriadas no arquivo “/etc/fstab”. Desta forma, os compartilhamentos são montados automaticamente durante o boot e ficam acessíveis de forma permanente nas pastas especificadas por você. Esta é uma opção interessante em muitos ambientes, já que é mais fácil para os usuários simplesmente acessarem os arquivos através de uma pasta, do que terem que montar o compartilhamento usando o Smb4K.

O primeiro passo é aprender a sintaxe da montagem dos compartilhamentos via linha de comando, já que as entradas do fstab utilizam os mesmos argumentos.

O exemplo mais simples seria:

# mount -t smbfs //servidor/arquivos /mnt/windows

Aqui, estou montando o compartilhamento “arquivos” na pasta “/mnt/windows”. O “servidor” pode tanto ser o nome da máquina, dentro da rede Windows, quanto seu endereço IP. Como em outros comandos de montagem, você precisa executar o comando como root.

O comando mount é um dos comandos mais tradicionais do Linux, que permite “mapear” um diretório qualquer dentro de outro diretório do sistema. A opção “-t” serve para especificar o sistema de arquivos, neste caso o “smbfs”, usado para acessar compartilhamentos Windows. Note que a localização do compartilhamento é fornecida numa sintaxe muito similar à que usaríamos para mapear um compartilhamento no Windows, com a sintaxe “barra barra servidor barra compartilhamento”. A única diferença é que aqui usamos barras “normais” ao invés de barras invertidas. 🙂

Só para efeito de comparação, ao mapear o mesmo compartilhamento numa máquina Windows, teríamos:
smb_html_m71fabe27
O problema com o comando acima é que ele só funciona realmente ao montar compartilhamentos do Windows 98/ME, que não possuem senhas. No Windows 2000/XP/Vista, você vai receber uma mensagem de acesso negado, já que neles você precisa se autenticar para obter acesso aos compartilhamentos. Para isso, é necessário incluir a opção “-o username=,password=” (tudo junto, sem espaços), especificando o login e senha, como em:

# mount -t smbfs //servidor/arquivos /mnt/windows -o username=joao,password=12345

Depois de montado o compartilhamento, os arquivos podem ser acessados normalmente, usando o Konqueror, Nautilus ou outro gerenciador de arquivos. É muito similar ao acessar uma compartilhamento mapeado no Windows, a principal diferença é que você define uma pasta onde ele será montado, ao invés de acessá-lo através de uma letra, como “E:” ou “Z:”.

O passo seguinte é tornar a montagem permanente, já que, usando o comando mount, ela é perdida ao reiniciar o micro.

Para isso, inserimos uma nova linha no final do arquivo “/etc/fstab“. A ordem dos parâmetros fica um pouco diferente, mas você notará que os parâmetros continuam os mesmos que usamos no comando anterior:

//servidor/arquivos /mnt/windows smbfs username=joao,password=12345 0 0

O fstab é um dos principais arquivos de configuração, por isso é sempre importante ter cuidado ao editá-lo. Apenas adicione a nova linha, sem alterar as anteriores e lembre-se sempre de deixar uma linha em branco no final do arquivo.

Um parâmetro útil que pode ser incluído é a opção “users” que permite que os próprios usuários montem ou desmontem os compartilhamentos, sem precisar da senha de root. Para isso, adicione o parâmetro “user”, antes do “username=” (sem espaços), como em:

//servidor/arquivos /mnt/windows smbfs users,username=joao,password=12345 0 0

A montagem e desmontagem neste caso é feita indicando apenas o diretório, como em “umount /mnt/windows” e “mount /mnt/windows”. O “0 0” incluído sempre no final da linha é um parâmetro passado sistema, que diz que ele não deve verificar o sistema de arquivos usando o fsck durante a inicialização, já que aqui estamos montando um compartilhamento de rede e não uma partição.

Em muitas distribuições, o padrão é que apenas o root tenha permissão para acessar os arquivos dentro da pasta onde foi montado o compartilhamento. Para evitar isso, adicione a opção “smbpasswd,uid=joao,gid=joao” na linha do fstab (antes do 0 0), como em:

//servidor/arquivos /mnt/windows smbfs users,username=joao,password=12345
smbpasswd,uid=joao,gid=joao 0 0

Neste exemplo, precisei quebrar a linha em duas por causa da limitação do tamanho da página, mas tenha em mente que trata-se de uma única linha. O “uid=joao” indica o usuário do sistema (no cliente) que poderá acessar o compartilhamento, enquanto o “gid=joao” indica o grupo. Você pode fazer com que vários usuários tenham acesso, criando um novo grupo no sistema (usando o comando “addgroup”, ou um utilitário como o “users-admin” e adicionando os usuários desejados dentro do grupo criado).

Embora não seja muito recomendável do ponto de vista da segurança, também é possível escancarar as permissões, fazendo com que qualquer usuário logado no cliente Linux tenha acesso completo a todos os arquivos. Para isso, você usaria o parâmetro “smbpasswd,fmask=777,dmask=777”, como em

//servidor/arquivos /mnt/windows smbfs users,username=joao,password=12345
smbpasswd,fmask=777,dmask=777 0 0

Como estamos adicionando as senhas dos compartilhamentos dentro do arquivo, também é fortemente recomendável manter as permissões de leitura do arquivo em “600”, de forma que apenas o root tenha permissão para ver seu conteúdo. Para isso, use o comando:

# chmod 600 /etc/fstab

É possível montar diversos compartilhamentos, adicionando uma linha para cada um. Não existe limitação para o número máximo de compartilhamentos que podem ser adicionados, mas você deve ter cuidado de adicionar apenas compartilhamentos de servidores que fiquem ligados continuamente. Se o servidor estiver desligado durante o boot da estação, o boot do cliente vai demorar muito mais que o normal e o usuário verá o erro relacionado à montagem do compartilhamento, o que não é muito elegante, nem muito bom para sua reputação como administrador. 🙂

Nos exemplos anteriores, especificamos as senhas de montagem dos compartilhamentos diretamente no arquivo “/etc/fstab”. Mesmo protegendo o arquivo com o “chmod 600”, muita gente afirma que isso é um problema grave de segurança, já que alguém que conseguisse obter acesso ao arquivo, obteria automaticamente as senhas dos compartilhamentos.

Uma opção é usar um arquivo externo para armazenar as senhas. Ele pode ser armazenado tanto dentro do diretório /home/root, quanto dentro do home do usuário do sistema que tem acesso ao compartilhamento. Você pode também usar diversos arquivos de senha, um para cada compartilhamento que precisa ser montado.

Para criar os arquivos de senha, use os três comandos abaixo, ainda como root:

# echo “username=joao” > /home/joao/.smbpasswd
# echo “password=12345” >> /home/joao/.smbpasswd
# chmod 600 /home/joao/.smbpasswd

Usado desta forma, o comando echo permite criar arquivos de texto e adicionar novas linhas. O primeiro comando cria o arquivo, adicionando a linha com o nome do usuário, enquanto o segundo adiciona a linha com a senha. Se por acaso o arquivo já existir, ele é subscrito.

Como o arquivo foi criado pelo root, o comando “chmod 600” usado no final faz com que, mesmo colocado dentro do home do usuário “joao”, apenas o root tenha acesso ao arquivo, evitando acidentes.

Você pode também criar o arquivo usando um editor de textos qualquer e ajustar as permissões manualmente. Neste caso, bastaria adicionar as duas linhas:

username=joao
password=12345

Com o arquivo criado, você pode modificar a(s) linha(s) no fstab, especificando a localização do arquivo, ao invés de colocar o usuário e senha diretamente, como em:

//servidor/arquivos /mnt/windows smbfs users,credentials=/home/joao/.smbpasswd 0 0

ou:

//servidor/arquivos /mnt/windows smbfs users,credentials=/home/joao/.smbpasswd
smbpasswd,uid=joao,gid=joao 0 0

Ao montar vários compartilhamentos, que são acessados usando o mesmo login e senha, você pode especificar o mesmo arquivo em todas as linhas, mas, no caso de diversos compartilhamentos, montados usando credenciais diferentes, você deve criar arquivos separados para cada um e especificar o arquivo correto dentro da linha de montagem de cada compartilhamento.

Você pode criar quantos arquivos de senha diferentes quiser, mas cada arquivo deve conter um único usuário e senha.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X