O Samba é um software livre / aberto e popularmente usado para compartilhar arquivos e serviços de impressão entre sistemas semelhantes a Unix, incluindo hosts Linux e Windows na mesma rede.

Neste guia, mostraremos como configurar o Samba4 para o compartilhamento básico de arquivos entre um sistema Ubuntu e máquinas Windows. Vamos abordar dois cenários possíveis: anônimo (não seguro) , bem como o compartilhamento seguro de arquivos .

Observe que a partir da versão 4.0, o Samba pode ser usado como um controlador de domínio do Active Directory (AD) (DC) . Nós organizamos uma série especial para configurar o Samba4 Active Directory Domain Controller, que é composto por tópicos principais no Ubuntu, CentOS e Windows.

  1. Configurando o controlador de domínio Samba4 Active Directory

Instalar e configurar o Samba no Ubuntu

O servidor Samba está disponível para instalar a partir dos repositórios Ubuntu padrão usando a ferramenta apt package manager como mostrado.

$ sudo apt install samba samba-common python-dnspython

Uma vez que o servidor samba está instalado, agora é hora de configurar o servidor samba como: compartilhamento de arquivos anônimo e seguro seguro .

Para isso, precisamos editar o arquivo de configuração principal do Samba /etc/samba/smb.conf (que explica várias diretrizes de configuração).

Primeiro, faça backup do arquivo de configuração original do samba da seguinte forma.

$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

Posteriormente, procederemos a configurar o samba para serviços de compartilhamento de arquivos anônimos e seguros , conforme explicado abaixo.

Importante : antes de avançar, certifique-se de que a máquina do Windows esteja no mesmo grupo de trabalho que será configurado no servidor Ubuntu.

Verifique as Configurações do Grupo de trabalho do Windows Machine

Entre na sua máquina Windows, clique com o botão direito do mouse em ” Este PC ” ou ” Meu Computador Propriedades Configurações Avançadas do Sistema Nome do Computador para verificar o grupo de trabalho.

Verifique o Windows WorkGroup

Verifique o Windows WorkGroup

Como alternativa, abra o prompt de comando e visualize-o executando o comando abaixo e procure ” domínio da estação de trabalho “.

>net config workstation

Verifique o Windows WorkGroup

Verifique o Windows WorkGroup

Uma vez que você conhece o seu grupo de trabalho do Windows, é hora de avançar e configurar o servidor samba para compartilhamento de arquivos.

Compartilhamento de arquivos Samba anônimos

Primeiro comece criando um diretório de samba compartilhado onde os arquivos serão armazenados.

$ sudo mkdir -p /srv/samba/anonymous_shares

Em seguida, defina as permissões apropriadas no diretório.

$ sudo chmod -R 0775 /srv/samba/anonymous_shares
$ sudo chown -R nobody:nogroup /srv/samba/anonymous_shares

Agora abra o arquivo de configuração.

$ sudo vi /etc/samba/smb.conf
OR
$ sudo nano /etc/samba/smb.conf

Em seguida, edite ou modifique as configurações da diretiva conforme descrito abaixo.

global]
workgroup = WORKGROUP
netbios name = ubuntu
security = user
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous_shares
browsable =yes
writable = yes
guest ok = yes
read only = no
force user = nobody
Agora, verifique as configurações atuais do samba executando o comando abaixo.
$ testparm
Configurações de configuração atual do Samba
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
netbios name = UBUNTU
server string = %h server (Samba, Ubuntu)
server role = standalone server
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = No
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous_shares
force user = nobody
read only = No
guest ok = Yes

Em seguida, reinicie os serviços Samba para efetuar as alterações acima.

$ sudo systemctl restart smbd [Systemd]
$ sudo service smbd restart [Sys V]

Testando o compartilhamento de arquivos Samba anônimos

Vá para a máquina Windows e abra ” Rede ” a partir de uma janela do Windows Explorer . Clique no host Ubuntu ( TECMINT para o nosso caso), ou tente acessar o servidor samba usando seu endereço IP.

  \\ 192.168.43.168

Nota : Use o comando ifconfig para obter o seu endereço IP do servidor Ubuntu.

Conecte-se ao Samba Share

Conecte-se ao Samba Share

Em seguida, abra o diretório anônimo e tente adicionar arquivos lá para compartilhar com outros usuários.

Adicionar arquivos ao Samba Share

Adicionar arquivos ao Samba Share

Compartilhamento seguro de arquivos Samba

Para proteger com senha um compartilhamento de samba, você precisa criar um grupo “smbgrp” e definir uma senha para cada usuário. Neste exemplo eu uso aaronkilik como usuário e senha como ” tecmint “.

$ sudo addgroup smbgrp
$ sudo usermod aaronkilik -aG smbgrp
$ sudo smbpasswd -a aaronkilik

Nota : O modo de segurança samba: security = user exige que os clientes digitem um nome de usuário e senha para se conectar a compartilhamentos.

As contas de usuário do Samba são separadas das contas do sistema, no entanto, você pode opcionalmente instalar o pacote libpam-winbind que é usado para sincronizar usuários do sistema e senhas com o banco de dados do usuário samba.

$ sudo apt install libpam-winbind

Em seguida, crie o diretório seguro onde os arquivos compartilhados serão mantidos.

$ sudo mkdir -p /srv/samba/secure_shares

Em seguida, defina as permissões apropriadas no diretório.

$ sudo chmod -R 0770 /srv/samba/secure_shares
$ sudo chown -R root:smbgrp /srv/samba/secure_shares

Agora abra o arquivo de configuração.

$ sudo vi /etc/samba/smb.conf
OR
$ sudo nano /etc/samba/smb.conf

Em seguida, edite ou modifique as configurações da diretiva conforme descrito abaixo.

[Secure]
comment = Secure File Server Share
path = /srv/samba/secure_shares
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yes

Assim como antes, execute este comando para ver suas configurações de samba atuais.

 $ testparm
Configurações de configuração atual do Samba
  Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
netbios name = UBUNTU
server string = %h server (Samba, Ubuntu)
server role = standalone server
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = No
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous_shares
force user = nobody
read only = No
guest ok = Yes
[Secure]
comment = Secure File Server Share
path = /srv/samba/secure_shares
valid users = @smbgrp
read only = No

Depois de concluir as configurações acima, reinicie os serviços Samba para aplicar as alterações.

$ sudo systemctl restart smbd [Systemd]
$ sudo service smbd restart [Sys V]

Testando compartilhamento seguro de arquivos Samba

Como antes, na máquina do Windows, e abra ” Network”  de uma janela do Windows Explorer . Clique no host do Ubuntu ( TECMINT para o nosso caso). Você pode obter o erro abaixo, se não passar para o próximo passo.

Conecte-se ao Secure Samba Share

Conecte-se ao Secure Samba Share

Tente acessar o servidor usando seu endereço IP, por exemplo, \\192.168.43.168 assim. Em seguida, insira as credenciais (nome de usuário e senha) para o usuário aaronkilik e clique em OK .

Samba Share User Login

Samba Share User Login

Agora você verá todos os diretórios compartilhados, clique em Secure para abri-lo.

Samba Secure Share

Samba Secure Share

Você pode compartilhar com segurança alguns arquivos com outros usuários permitidos na rede soltando-os neste diretório.

Adicionar arquivos no Samba Share

Adicionar arquivos no Samba Share

Ativar Samba no UFW Firewall no Ubuntu

Se você tiver o firewall UFW ativado / ativo no seu sistema, você deve adicionar as regras para permitir que o Samba passe pelo seu firewall.

Para testar isso, usamos o esquema de rede 192.168.43.0 . Execute os comandos abaixo especificando seu endereço de rede.

$ sudo ufw allow proto udp to any port 137 from 192.168.43.0/24
$ sudo ufw allow proto udp to any port 138 from 192.168.43.0/24
$ sudo ufw allow proto tcp to any port 139 from 192.168.43.0/24
$ sudo ufw allow proto tcp to any port 445 from 192.168.43.0/24

Você também pode verificar esses artigos úteis sobre o compartilhamento de arquivos Samba em uma rede.

Isso é tudo! Neste guia, mostramos como configurar o Samba4 para compartilhamento de arquivos anônimo e seguro entre as máquinas Ubuntu e Windows. Use o formulário de comentários abaixo para compartilhar quaisquer comentários conosco.

Anúncios