Samba implementa o protocolo Server Message Block em sistemas Unix-like, permitindo compartilhar arquivos e impressoras entre Linux, Windows, macOS e outros clientes. Implantações modernas usam dialetos SMB atuais; o termo antigo CIFS ainda aparece em ferramentas Linux, mas não é motivo para habilitar o obsoleto SMB1.
Compartilhamento de Rede · Lição 5
Samba
Aprenda a configurar, validar, acessar e proteger um compartilhamento básico do Samba.
Planejamento do compartilhamento
Antes de instalar ou mudar, defina clientes autorizados, identidades, leitura e escrita, zona de rede, proprietário dos dados, backup e dialeto exigido. Use um diretório dedicado, sem expor acidentalmente uma árvore pessoal ou do sistema.
O acesso é controlado pelas regras do Samba e pelas permissões do sistema de arquivos. Permitir escrita em smb.conf não concede acesso que a conta não possui localmente.
O que deve permitir a escrita por um compartilhamento Samba?
Definição de um compartilhamento básico
A configuração principal costuma ser /etc/samba/smb.conf:
[team]
path = /srv/samba/team
browseable = yes
read
valid users = @teamshare
Crie o diretório com propriedade e permissões revisadas:
$ sudo install -d -o root -g teamshare -m 2770 /srv/samba/team
O bit set-group-ID ajuda novas entradas a herdar o grupo do diretório, mas o acesso colaborativo também pode exigir uma ACL ou uma máscara de criação escolhida cuidadosamente. Teste os resultados reais dos arquivos e diretórios em vez de presumir que a herança é suficiente.
O que expressa valid users = @teamshare?
Configuração da identidade
Num servidor standalone, a conta geralmente precisa de identidade Unix correspondente e credencial Samba habilitada:
$ sudo smbpasswd -a alice
Implantações em domínios de diretório usam outro projeto de identidade. Não coloque senhas no histórico do shell nem em configurações legíveis por usuários não relacionados e não presuma que uma senha do Samba seja automaticamente idêntica à senha da conta Unix.
O que smbpasswd -a alice costuma fazer num servidor standalone?
Validação e aplicação
Verifique a configuração interpretada antes de recarregar:
$ testparm -s
Revise padrões inesperados e erros e, em seguida, recarregue o serviço Samba da distribuição por meio de seu gerenciador de serviços. Os nomes dos serviços variam e normalmente incluem smbd.service ou smb.service. Um reload causa menos interrupção do que um restart quando há suporte, mas ainda assim verifique o estado, os sockets em escuta, o escopo do firewall e os logs.
Teste a partir de um cliente com um usuário explícito:
$ smbclient //server.example.net/team -U alice
Por que executar testparm -s antes de aplicar uma mudança?
Montagem a partir do Linux
Clientes Linux usam o driver cifs e helpers. Evite senhas na linha de comando, pois vazam pelo histórico ou processos. Use arquivo de credenciais legível apenas pelo root ou mecanismo aprovado:
$ sudo mount -t cifs //server.example.net/team /mnt/team \
-o credentials=/root/.smb-team,vers=3.1.1
Proteja o arquivo de credenciais, confirme o dialeto aceito pelos dois lados e defina deliberadamente os requisitos de UID, GID, permissões e criptografia. Depois da montagem, verifique-a com findmnt, faça testes autorizados de leitura e escrita e desmonte após coordenar os usuários ativos.
Por que evitar password=... diretamente no comando mount?
Lição concluída
Você concluiu Samba
Agora você consegue configurar Samba considerando segurança do protocolo e do sistema de arquivos.
Definir clientes, identidades, rede e dados primeiro.
Restringir o share e alinhar permissões locais.
Gerenciar credenciais pelo modelo correto.
Validar com
testparme testar de ponta a ponta.Proteger credenciais do cliente e verificar a montagem.
Salve seu progresso
Crie uma conta gratuita para salvar esta lição e continuar em qualquer dispositivo.
Criar uma conta gratuita