Linux Networking · 4 min read · Dec 11, 2025
Navegando na rede Windows com sua máquina Linux com montagem automática e descoberta de todos os hosts e compartilhamentos.
A versão mais recente que você encontrará em:
http://linux.bononline.nl/linux/automountsmbshares/index.php
Índice
- Introdução e Resumo
Introdução
Por algum tempo, estive procurando uma boa maneira de deixar meu computador descobrir a rede Windows e montar compartilhamentos sob demanda. Não há uma solução boa o suficiente para este momento. Depois de tentar os kioslaves no desktop da minha escolha (KDE) e os programas FUSE Fusesmb e SmbNetFs, não fiquei realmente satisfeito. Tinha que haver uma maneira de deixar meu computador descobrir todos os grupos de trabalho/domínios, os hosts e os compartilhamentos, e montar um compartilhamento em um host sob demanda. Alguns dirão: monte os compartilhamentos de sua escolha manualmente, e pronto. Mas não!! Isso não é o que eu quero. Posso deixar meu computador descobrir automaticamente todos os hosts e compartilhamentos disponíveis, e montar o compartilhamento apenas quando necessário. Isso deve ser possível! E depois de tentar, descobri que é!
As seguintes questões são necessárias, na minha opinião:
descoberta automática da rede SMB (domínios, hosts e compartilhamentos)
construção de uma representação que faça sentido para os usuários logados em seu diretório pessoal
montagem automática de compartilhamentos sob demanda
desmontagem automática de compartilhamentos após algum tempo sem uso
uso de um sistema de arquivos do kernel como SMBFS ou CIFS
independente de um Gerenciador de Desktop
suporte a outros serviços de rede como SSH e FTP
O programa FUSE Fusesmb chega muito perto do que estou procurando, mas falta as capacidades estendidas que o CIFS possui, como a apresentação correta das permissões, suporte a inotify, symlink e ATTR/ACL. Demorei algum tempo para descobrir por que o programa FUSE carece dessas funcionalidades. O FuseSMB é baseado na biblioteca smbclient smbclient.so, que faz parte do pacote Samba, e não tem nada a ver com smbfs ou cifs.
O resultado
O resultado dessa construção é um diretório relacionado à rede (Rede Global) em seu diretório pessoal, onde o automounter fornece uma árvore navegável para acessar todos os serviços de rede suportados.
Neste momento, ele suporta os serviços SMB e SSH (estou trabalhando no FTP). Acessando o “ponto de montagem da rede”:
/home/sbon/Rede Global/
Hosts SSH
Rede Windows
Acessando a Rede Windows (==smb), todos os grupos de trabalho e/ou domínios aparecem:
/home/sbon/Rede Global/
Hosts SSH
Rede Windows
BONONLINE
CWWERKGROEP
Entrando no grupo de trabalho CWWERKGROEP, todos os servidores e outros hosts aparecem:
/home/sbon/Rede Global/
Hosts SSH
Rede Windows
BONONLINE
CWWERKGROEP
ROUTER
PC1
Entrando no servidor ROUTER, os compartilhamentos disponíveis para o usuário conectado aparecem:
/home/sbon/Rede Global/
Hosts SSH
Rede Windows
BONONLINE
CWWERKGROEP
ROUTER
cwdocumenten
public
sbon
Acessando um compartilhamento, ele é montado automaticamente (com CIFS ou SMBFS). O uso de credenciais é suportado, logins de convidado são o padrão.
Para construir o “mapa de montagem múltipla” para o serviço smb, um cache de rede é utilizado. Ele fornece informações sobre grupos de trabalho e/ou domínios, hosts e servidores e compartilhamentos disponíveis. É mantido por alguns scripts, que utilizam algumas utilidades (nbtscan para determinar os hosts e grupos de trabalho/domínios e smbclient para determinar os compartilhamentos por host).
Acessando os hosts SSH (=ssh), todos os hosts aos quais este usuário tem acesso aparecem:
/home/sbon/Rede Global/
Hosts SSH
192.168.0.2
Rede Windows
Aqui nenhum cache é usado para criar esta árvore, mas o arquivo .known_hosts. Além disso, não havia mount.sshfs disponível. Eu criei um, usando FUSE e sshfs. (e umount.sshfs).
Agora, ao acessar o host 192.168.0.2, o root em 192.168.0.2 é montado.
Como funciona
Essa construção faz uso do automounter. Quando um usuário faz login, e uma nova sessão começa, um “ponto de montagem de rede” é adicionado ao arquivo auto.master e o daemon do automounter recebe um sinal de “reload”. Esse ponto de montagem, nome padrão “Rede Global”, está no diretório pessoal do usuário. Ligado a ele está um script (auto.network) que cria um mapa, com base em todos os serviços de rede suportados e recursos descobertos. Juntamente com a opção de navegação, isso fornece um mapa navegável, onde compartilhamentos/hosts são montados quando acessados.
Quando o usuário faz logout, e assim a sessão termina, o ponto de montagem é removido novamente, e o daemon do automounter recebe um sinal de reload novamente para tornar as mudanças efetivas.
Aqui, a capacidade do KDM de executar scripts com privilégios de root no início e no final de uma sessão é utilizada.
Neste momento, apenas SMB e SSH são suportados.
Problemas conhecidos
Existem alguns gargalos:
- quando um compartilhamento é adicionado, um host fica offline ou qualquer outra coisa muda no ambiente smb, leva algum tempo até que também seja visível no cache. Esse cache é mantido através de alguns scripts, que trabalham com um mecanismo baseado em “pull”. Em segundo lugar, o automounter não detecta por si só que os dados no cache mudaram. Ele apenas renova seus próprios dados (o mapa de montagem múltipla) após um tempo limite, e mesmo assim não consegue capturar todas as mudanças.
- o automounter é instruído a apresentar um mapa de montagem navegável. Isso significa que os diretórios de nível superior estão sempre disponíveis. Isso é uma coisa muito boa, as redes disponíveis estão sempre visíveis e acessíveis ao usuário, mesmo após um tempo limite. Na prática, às vezes um dos “serviços de rede” desaparece…
- o automounter tem alguns problemas ao iniciar com um arquivo auto.master vazio (e inclui vazios). No tempo de inicialização, quando não há usuários logados, e assim não há pontos de montagem de rede gerenciados pelo autofs, o automounter deve ser iniciado com um mapa vazio.
Links
Acessando compartilhamentos do Windows ou Samba usando autofs
guia para configurar autofs para compartilhamentos SMB, usando arquivos existentes;
Integrando seu Host Linux em um Ambiente Windows
um guia para configurar autofs para acessar compartilhamentos de uma maneira alternativa.
HOWTO Automontar sistemas de arquivos (AUTOFS) / udev com autofs
Aqui quase a mesma construção é usada para montar hardware usando autofs com udev. Aqui também, pontos de montagem são adicionados e removidos dinamicamente do arquivo auto.master.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.