Pesquisa de site

Como instalar o Samba4 no CentOS 7 para compartilhamento de arquivos no Windows


Em nosso último artigo, mostramos como instalar o Samba4 no Ubuntu para compartilhamento básico de arquivos entre sistemas Ubuntu e máquinas Windows. Onde analisamos a configuração do compartilhamento de arquivos anônimo (inseguro) e seguro.

Aqui, descreveremos como instalar e configurar o Samba4 no CentOS 7 (também funciona no RHEL 7) para compartilhamento básico de arquivos entre outros sistemas Linux e máquinas Windows.

Importante: A partir da versão 4.0, o Samba pode ser executado como um controlador de domínio (DC) do Active Directory (AD). Sugerimos que você leia nossa série especial sobre como configurar o controlador de domínio Samba4 Active Directory, que inclui tópicos críticos para Ubuntu, CentOS e Windows.

Instale o Samba4 no CentOS 7

1. Primeiro instale o Samba4 e os pacotes necessários dos repositórios padrão do CentOS usando a ferramenta de gerenciamento de pacotes yum, conforme mostrado.

yum install samba samba-client samba-common

2. Depois de instalar os pacotes samba, habilite os serviços samba para serem permitidos através do firewall do sistema com estes comandos.

firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload

Verifique as configurações do grupo de trabalho da máquina Windows

3. Antes de prosseguir com a configuração do samba, certifique-se de que a máquina Windows esteja no mesmo grupo de trabalho a ser configurado no servidor CentOS.

Existem duas maneiras possíveis de visualizar as configurações do grupo de trabalho da máquina Windows:

  • Clicar com o botão direito em “Este PC” ou “Meu Computador” → PropriedadesConfigurações avançadas do sistema Nome do computador.

  • Como alternativa, abra o prompt cmd e execute o seguinte comando e procure por “domínio da estação de trabalho” na saída, conforme mostrado abaixo.
>net config workstation

Configurando o Samba4 no CentOS 7

4. O arquivo de configuração principal do samba é /etc/samba/smb.conf, o arquivo original vem com definições de pré-configuração que explicam várias diretivas de configuração para guiá-lo.

Mas, antes de configurar o samba, sugiro que você faça um backup do arquivo padrão como este.

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

Em seguida, prossiga com a configuração do samba para serviços anônimos e de compartilhamento seguro de arquivos conforme explicado abaixo.

Compartilhamento de arquivos anônimos Samba4

5. Primeiro crie o diretório compartilhado onde os arquivos serão armazenados no servidor e defina as permissões apropriadas no diretório.

mkdir -p /srv/samba/anonymous
chmod -R 0775 /srv/samba/anonymous
chown -R nobody:nobody /srv/samba/anonymous

Além disso, você precisa alterar o contexto de segurança do SELinux para o diretório compartilhado do samba da seguinte maneira.

chcon -t samba_share_t /srv/samba/anonymous

6. Em seguida, abra o arquivo de configuração do samba para edição, onde você pode modificar/adicionar as seções abaixo com as diretivas correspondentes.

vi /etc/samba/smb.conf
[global]
	workgroup = WORKGROUP
	netbios name = centos
	security = user
[Anonymous]
	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	browsable =yes
	writable = yes
	guest ok = yes
	read only = no
	force user = nobody

7. Agora verifique as configurações atuais do samba executando o comando abaixo.

testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Global parameters
[global]
	netbios name = centos
	printcap name = cups
	security = USER
	idmap config * : backend = tdb
	cups options = raw
[homes]
	comment = Home Directories
	browseable = No
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S
[printers]
	comment = All Printers
	path = /var/tmp
	browseable = No
	printable = Yes
	create mask = 0600
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	create mask = 0664
	directory mask = 0775
	write list = root
[Anonymous]
 	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	force user = nobody
	guest ok = Yes
	read only = No

8. Finalmente, inicie e habilite os serviços samba para iniciar automaticamente na próxima inicialização e também aplique as alterações acima para entrar em vigor.

systemctl enable smb.service
systemctl enable nmb.service
systemctl start smb.service
systemctl start nmb.service

Testando o compartilhamento anônimo de arquivos Samba

9. Agora na máquina Windows, abra “Rede ” em uma janela do Windows Explorer e clique no host CentOS ou tente acesse o servidor usando seu endereço IP (use o comando ifconfig para obter o endereço IP).

e.g. \2.168.43.168.

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

Configurar o compartilhamento seguro de arquivos Samba4

11. Primeiro comece criando um grupo de sistema samba, depois adicione usuários ao grupo e defina uma senha para cada usuário assim.

groupadd smbgrp
usermod tecmint -aG smbgrp
smbpasswd -a tecmint

12. Em seguida, crie um diretório seguro onde os arquivos compartilhados serão mantidos e defina as permissões apropriadas no diretório com contexto de segurança SELinux para o samba.

mkdir -p /srv/samba/secure
chmod -R 0770 /srv/samba/secure
chown -R root:smbgrp /srv/samba/secure
chcon -t samba_share_t /srv/samba/secure

13. Em seguida, abra o arquivo de configuração para edição e modifique/adicione a seção abaixo com as diretivas correspondentes.

vi /etc/samba/smb.conf
[Secure]
	comment = Secure File Server Share
	path =  /srv/samba/secure
	valid users = @smbgrp
	guest ok = no
	writable = yes
	browsable = yes

14. Novamente, verifique as definições de configuração do samba executando o seguinte comando.

testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Global parameters
[global]
	netbios name = centos
	printcap name = cups
	security = USER
	idmap config * : backend = tdb
	cups options = raw
[homes]
	comment = Home Directories
	browseable = No
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S
[printers]
	comment = All Printers
	path = /var/tmp
	browseable = No
	printable = Yes
	create mask = 0600
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	create mask = 0664
	directory mask = 0775
	write list = root
[Anonymous]
 	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	force user = nobody
	guest ok = Yes
	read only = No
[Secure]
	comment = Secure File Server Share
	path = /srv/samba/secure
	read only = No
	valid users = @smbgrp

15. Reinicie os serviços Samba para aplicar as alterações.

systemctl restart smb.service
systemctl restart nmb.service

Testando o compartilhamento seguro de arquivos Samba

16. Vá para a máquina Windows, abra “Rede ” em uma janela do Windows Explorer e clique no host CentOS ou tente acessar o servidor usando seu endereço IP.

e.g. \2.168.43.168.

Você será solicitado a fornecer seu nome de usuário e senha para fazer login no servidor CentOS. Depois de inserir as credenciais, clique em OK.

17. Depois de fazer login com sucesso, você verá todos os diretórios compartilhados do samba. Agora compartilhe com segurança alguns arquivos com outros usuários permitidos na rede, colocando-os no diretório Seguro.

Você também pode conferir estes artigos úteis sobre compartilhamento de arquivos Samba em uma rede.

  1. Como montar/desmontar sistemas de arquivos locais e de rede (Samba e NFS) no Linux
  2. Usando ACLs (listas de controle de acesso) e montando compartilhamentos Samba/NFS
  3. Como corrigir a vulnerabilidade SambaCry (CVE-2017-7494) em sistemas Linux

Neste guia, mostramos como configurar o Samba4 para compartilhamento anônimo e seguro de arquivos entre CentOS e outros sistemas Linux, bem como máquinas Windows. Compartilhe suas idéias conosco através da seção de comentários abaixo.