Comando smbclient no Linux: guia completo de acesso SMB

Conecte-se a servidores Windows e Samba via terminal sem precisar montar unidades use apenas o comando smbclient!

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

Acesse compartilhamentos de rede Windows ou Samba diretamente pelo terminal Linux sem a necessidade de montar o sistema de arquivos. O smbclient oferece uma interface estilo FTP para transferências rápidas, diagnósticos de rede e scripts de automação, eliminando a complexidade de configurações permanentes no /etc/fstab.

O smbclient é um utilitário de linha de comando parte da suíte Samba que permite a comunicação com servidores SMB/CIFS. Ele atua como uma interface cliente para listar recursos compartilhados, navegar em diretórios remotos e transferir arquivos entre sistemas Unix/Linux e máquinas Windows (ou NAS), utilizando autenticação criptografada e suporte aos protocolos SMBv2 e SMBv3.

Resumo (O que você precisa saber):

  • Acesso Imediato: Funciona como um cliente FTP, não exige privilégios de root para montar unidades.
  • Diagnóstico de Rede: É a melhor ferramenta para testar se um servidor Windows está aceitando conexões (Porta 445).
  • Automação: Permite comandos de uma linha (-c) ideais para scripts de backup rápidos.

Pré-requisitos e instalação

Antes de conectar, você precisa garantir que o pacote do cliente Samba esteja instalado no seu sistema. Embora muitas distribuições o tragam nativamente, verifique a instalação para garantir suporte aos protocolos de segurança mais recentes.

Abra o seu terminal e execute o comando correspondente à sua distribuição:

  • Debian/Ubuntu/Mint:Bashsudo apt update && sudo apt install smbclient -y
  • Fedora/RHEL/AlmaLinux:Bash# No ecossistema RHEL, o pacote geralmente é o samba-client sudo dnf install samba-client -y
  • Arch Linux/Manjaro:Bashsudo pacman -S smbclient

Como listar e conectar em compartilhamentos

A função mais básica e útil do smbclient é “escanear” um servidor para ver o que está disponível.

1. Listando recursos disponíveis

Para ver quais pastas um servidor está compartilhando, utilize a flag -L.

Bash
# Lista compartilhamentos no IP alvo
smbclient -L //192.168.1.100 -U seu_usuario
  • O sistema solicitará sua senha. Se o servidor permitir acesso anônimo (raro em 2026 por segurança), você pode apenas pressionar Enter.

2. Acessando um compartilhamento (Modo Interativo)

Para entrar em uma pasta específica e começar a manipular arquivos, a sintaxe muda ligeiramente.

Bash
# Conecta na pasta 'Arquivos'
smbclient //192.168.1.100/Arquivos -U seu_usuario

Após o login, o prompt mudará para smb: \>, indicando que você está dentro do servidor remoto via terminal. Aqui você pode usar comandos internos:

  • ls: Lista os arquivos da pasta remota.
  • cd [pasta]: Entra em um diretório remoto.
  • get [arquivo]: Baixa um arquivo para seu PC local.
  • put [arquivo]: Envia um arquivo do seu PC para o servidor.
  • **mget ***: Baixa múltiplos arquivos de uma vez.

DICA: Se precisar baixar o arquivo para uma pasta local específica, use o comando lcd /caminho/local dentro do prompt do smbclient antes de usar o get.

Automação e uso avançado (One-Liners)

Para scripts de backup ou transferências rápidas sem entrar no modo interativo, utilize a flag -c (command). Isso executa a ação e fecha a conexão imediatamente.

Bash
# Baixa o arquivo relatorio.pdf sem abrir o prompt interativo
smbclient //192.168.1.100/Arquivos -U usuario%senha -c 'get relatorio.pdf'

ALERTA: Evite colocar a senha diretamente no comando (usuario%senha) em servidores de produção, pois ela ficará visível no histórico do bash. Para scripts seguros, use a flag -A apontando para um arquivo de credenciais protegido.

Solução de problemas comuns

Em ambientes modernos (2026), a segurança do protocolo SMB foi endurecida. Veja como resolver os erros mais frequentes.

Erro: protocol negotiation failed: NT_STATUS_CONNECTION_RESET

Isso ocorre quando o servidor (geralmente Windows 10/11 ou Server atualizado) desabilitou o SMBv1 inseguro, mas seu cliente tenta usar uma versão antiga. Solução: Force o uso do SMBv3 no comando ou na configuração.

Bash
smbclient //192.168.1.100/Arquivos -U usuario -m SMB3

Erro: NT_STATUS_ACCESS_DENIED ou NT_STATUS_LOGON_FAILURE

Geralmente indica erro de credencial ou bloqueio de conta. Solução:

  1. Verifique se o usuário tem permissão de leitura/escrita na pasta compartilhada (nas configurações do Windows).
  2. Se estiver em um domínio corporativo, use a sintaxe DOMINIO\usuario ou a flag -W DOMINIO.

Bloqueios de Firewall

Se o comando fica “preso” e dá timeout, a porta pode estar bloqueada. Solução: Certifique-se de que a porta 445 (TCP) está liberada no firewall do servidor e que não há bloqueio de ICMP se você estiver tentando pingar antes.

Alternativas ao smbclient

Embora o smbclient seja excelente para testes e scripts rápidos, para uso diário contínuo existem opções mais integradas:

  • mount.cifs: Monta a pasta remota como se fosse um disco local (ideal para editar arquivos diretamente sem baixar).
  • Nautilus/Dolphin: Gerenciadores de arquivos gráficos (basta digitar smb://IP na barra de endereço).

O smbclient é a ferramenta definitiva para o administrador de sistemas que precisa de velocidade e diagnóstico preciso.

Você costuma utilizar o smbclient para transferências esporádicas ou prefere montar a unidade permanentemente no sistema?

Perguntas Frequentes (FAQ)

É seguro usar smbclient via internet?

Não é recomendado expor a porta 445 diretamente à internet. O ideal é utilizar o smbclient apenas dentro de uma rede local (LAN) ou através de uma VPN segura, pois o protocolo SMB é um alvo frequente de ataques de ransomware.

Como baixar uma pasta inteira com smbclient?

O smbclient não baixa pastas recursivamente com um simples comando get. Você deve usar o comando tarmode dentro do prompt interativo ou ativar o recurse seguido de mget *, mas para diretórios grandes, o comando mount.cifs ou rsync é mais eficiente.

O smbclient funciona com o OneDrive ou Google Drive?

Não nativamente. O smbclient fala o protocolo SMB/CIFS. Para acessar nuvens como OneDrive ou Google Drive via terminal, a ferramenta correta é o rclone.

Compartilhe este artigo