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

    1. 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.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.