AutoFS · 3 min read · Dec 10, 2025
Como Usar AutoFS Para Acessar Compartilhamentos Windows E Samba
Acessando Compartilhamentos Windows Ou Samba Usando AutoFS
Você já instalou o Linux em seu PC de mesa conectado à rede e agora deseja trabalhar com arquivos armazenados em outros PCs na sua rede. É aqui que o autofs entra em cena. Este tutorial mostra como configurar o autofs para usar CIFS para acessar compartilhamentos Windows ou Samba a partir de PCs de mesa Linux. Ele também inclui um arquivo de configuração personalizado.
Se a versão 4.0 ou mais recente do autofs já estiver instalada, você deve encontrar os arquivos
/etc/auto.mastere
/etc/auto.smbno seu sistema. Caso contrário, inicie o gerenciador de pacotes da sua distribuição (por exemplo, YaST no SuSE, synaptic no Debian ou Ubuntu, …) e instale-o. Quando estiver nisso, também instale o pacote do cliente Samba (procure por smbclient), pois também precisaremos disso. Em algumas distribuições (Ubuntu), também precisamos do pacote smbfs que contém as utilidades mount.cifs e umount.cifs.
Configuração
Se o autofs já estiver instalado, provavelmente ainda não está configurado e não está funcionando. Supondo que sua distribuição Linux contenha um kernel Linux 2.6.x, recomendo usar o módulo common internet file system (cifs) para acessar arquivos na rede. Por favor, armazene o seguinte arquivo como
/etc/auto.cifssobre seu computador. Você precisa de permissões de root (ou sudo) para fazer isso:
#!/bin/bash
# $Id$
# Este arquivo deve ser executável para funcionar! chmod 755!
key="$1"
# Nota: crie um arquivo de credenciais para cada servidor Windows/Samba na sua rede
# que requer autenticação por senha. O arquivo deve conter
# exatamente duas linhas:
# username=user
# password=*****
# Por favor, não use espaços em branco para separar o sinal de igual do
# nome da conta de usuário ou senha.
credfile="/etc/auto.smb.$key"
# Nota: Use cifs em vez de smbfs:
mountopts="-fstype=cifs,file_mode=0644,dir_mode=0755,uid=user,gid=users"
smbclientopts=""
for P in /bin /sbin /usr/bin /usr/sbin
do
if [ -x $P/smbclient ]
then
SMBCLIENT=$P/smbclient
break
fi
done
[ -x $SMBCLIENT ] || exit 1
if [ -e "$credfile" ]
then
mountopts=$mountopts",credentials=$credfile"
smbclientopts="-A "$credfile
else
smbclientopts="-N"
fi
$SMBCLIENT $smbclientopts -gL $key 2>/dev/null \
| awk -v key="$key" -v opts="$mountopts" -F'|' -- '
BEGIN { ORS=""; first=1 }
/Disk/ { if (first) { print opts; first=0 };
gsub(/ /, "\\ ", $2);
sub(/\$/, "\\$", $2);
print " \
\t /" $2, "://" key "/" $2 }
END { if (!first) print "\n"; else exit 1 }
'Torne este arquivo executável usando o comando:
chmod 755 /etc/auto.cifsEste arquivo é uma versão ligeiramente modificada do arquivo auto.smb que geralmente vem como parte do pacote autofs. Você precisa modificar a linha que define os mountopts acima e mudar user para o nome da sua conta pessoal. Agora você precisa fornecer ao autofs as credenciais necessárias para acessar os compartilhamentos na sua rede. Para fazer isso, crie um arquivo chamado
/etc/auto.smb.FILESERVERNAMEpara cada computador que você deseja acessar. Claro, substitua FILESERVERNAME pelo nome do computador. Preencha esses arquivos com o nome da conta de usuário e a senha necessárias para acessar os compartilhamentos no computador. O conteúdo desses arquivos deve ser semelhante ao seguinte exemplo:
username=user
password=secretUse o comando
chmod 600 /etc/auto.smb.*para proteger as informações da senha.
Agora precisamos dizer ao autofs para usar nosso novo arquivo de configuração. Use os comandos:
echo "/cifs /etc/auto.cifs --timeout=60" >>/etc/auto.mastere
/etc/init.d/autofs restartÉ isso.
Testando
Use o comando
ls -als /cifs/FILESERVERNAME/SHARENAMEpara verificar se funciona. Se não funcionar, consulte os arquivos de log do sistema (geralmente /var/log/messages ou /var/log/syslog) para mensagens.
Créditos: davek por fornecer um patch para melhor escapar sinais de dólar e espaços em branco nos nomes dos compartilhamentos
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.