Como instalar e configurar o Samba no CentOS 7

Samba é uma reimplementação livre e de código aberto do protocolo de compartilhamento de arquivos de rede SMB/CIFS que permite aos usuários finais acessar arquivos, impressoras e outros recursos compartilhados.

Neste tutorial, mostraremos como instalar o Samba no CentOS 7 e configurá-lo como um servidor autônomo para fornecer compartilhamento de arquivos entre diferentes sistemas operacionais através de uma rede.

Criaremos os seguintes compartilhamentos de Samba e usuários.

Usuários:

  • sadmin – Um usuário administrativo com acesso de leitura e escrita a todos os compartilhamentos.
  • josh – Um usuário regular com seu próprio compartilhamento de arquivos privados.

Shares:

  • usuários – Este compartilhamento será acessível com permissões de leitura/escrita por todos os usuários.
  • josh – Esta partilha será acessível com permissões de leitura/escrita apenas pelos utilizadores josh e sadmin.

As partilhas de ficheiros serão acessíveis a partir de todos os dispositivos na sua rede. Mais tarde no tutorial, nós também forneceremos instruções detalhadas sobre como se conectar ao servidor Samba a partir de clientes Linux, Windows e macOS.

Prrequisitos #

Antes de começar, certifique-se de estar logado no seu sistema CentOS 7 como um usuário com privilégios sudo .

Instalando Samba no CentOS #

Samba está disponível a partir dos repositórios CentOS padrão. Para instalá-lo em seu sistema CentOS execute o seguinte comando:

sudo yum install samba samba-client

Após a instalação estar concluída, inicie os serviços Samba e habilite-os para iniciar automaticamente no boot do sistema:

sudo systemctl start smb.servicesudo systemctl start nmb.service
sudo systemctl enable smb.servicesudo systemctl enable nmb.service

O serviço smbd fornece serviços de compartilhamento de arquivos e impressão e escuta nas portas TCP 139 e 445. O serviço nmbd fornece serviços de nomeação NetBIOS sobre IP para clientes e escuta na porta UDP 137.

Configurando Firewall #

Agora que o Samba esteja instalado e em execução na sua máquina CentOS, você precisará configurar seu firewall e abrir as portas necessárias. Para fazer isso, execute os seguintes comandos:

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

Criar Usuários Samba e Estrutura de Diretórios #

Para facilitar a manutenção e flexibilidade ao invés de usar os diretórios home padrão (/home/user) todos os diretórios e dados do Samba estarão localizados no diretório /samba.

Comece criando o diretório /samba:

sudo mkdir /samba

Criar um novo grupo chamado sambashare. Mais tarde adicionaremos todos os usuários Samba a este grupo.

sudo groupadd sambashare 

Configuração do grupo /samba diretório propriedade do grupo para sambashare:

sudo chgrp sambashare /samba

Samba usa usuários Linux e sistema de permissão de grupo, mas tem seu próprio mecanismo de autenticação separado da autenticação padrão do Linux. Vamos criar os usuários usando a ferramenta padrão Linux useradd e então definir a senha do usuário com o utilitário smbpasswd> utilitário.

Como mencionamos na introdução, vamos criar um usuário regular que terá acesso ao seu compartilhamento de arquivos privados e uma conta administrativa com acesso de leitura e escrita a todas as ações no servidor Samba.

Criar Usuários Samba #

Para criar um novo usuário chamado josh, use o seguinte comando:

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

As opções useradd têm os seguintes significados:

Criar o diretório home do usuário e definir a propriedade do diretório para o usuário josh e grupo sambashare:

sudo mkdir /samba/joshsudo chown josh:sambashare /samba/josh

O seguinte comando irá adicionar o bit setgid ao diretório /samba/josh para que os novos arquivos criados neste diretório herdarão o grupo do diretório pai. Desta forma, não importa qual usuário cria um novo arquivo, o arquivo terá o dono do grupo de sambashare. Por exemplo, se você não definir as permissões do diretório para 2770 e o usuário sadmin criar um novo arquivo, o usuário josh não será capaz de ler/gravar neste arquivo.

sudo chmod 2770 /samba/josh

Adicionar a conta de usuário josh ao banco de dados Samba definindo a senha do usuário:

sudo smbpasswd -a josh

Você será solicitado a digitar e confirmar a senha do usuário.

New SMB password:Retype new SMB password:Added user josh.

Após a senha ser definida, habilite a conta Samba digitando:

sudo smbpasswd -e josh
Enabled user josh.

Para criar outro usuário, repita o mesmo processo de criação do usuário josh.

Próximo, vamos criar um usuário e um grupo sadmin. Todos os membros deste grupo terão permissões administrativas. Mais tarde se você quiser conceder permissões administrativas a outro usuário simplesmente adicione esse usuário ao grupo sadmin .

Criar o usuário administrativo digitando:

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

O comando acima também criará um grupo sadmin e adicionará o usuário a ambos os grupos sadmin e sambashare.

Definir uma senha e habilitar o usuário:

sudo smbpasswd -a sadminsudo smbpasswd -e sadmin

Próximo, crie o diretório Users compartilhar:

sudo mkdir /samba/users

Definir a propriedade do diretório para o usuário sadmin e grupo sambashare:

sudo chown sadmin:sambashare /samba/users

Este diretório será acessível por todos os usuários autenticados. O seguinte comando configura o acesso de escrita/leitura aos membros do grupo sambashare no diretório /samba/users:

sudo chmod 2770 /samba/users

Configurando Ações do Samba #

Abrir o arquivo de configuração do Samba e anexar as seções:

sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf

As opções têm os seguintes significados:

  • e – Os nomes das ações que você usará ao fazer login.
  • path – O caminho para a ação.
  • browseable – Se a ação deve ser listada na lista de ações disponíveis. Ao definir para no outros usuários não serão capazes de ver o compartilhamento.
  • read only – Se os usuários especificados na lista valid users são capazes de escrever para este compartilhamento.
  • force create mode – Define as permissões para os arquivos recém-criados neste compartilhamento.
  • force directory mode – Define as permissões para os directórios recentemente criados nesta partilha.
  • valid users – Uma lista de utilizadores e grupos que têm permissão para aceder à partilha. Os grupos são prefixados com o símbolo @.

Para mais informações sobre as opções disponíveis veja a página de documentação do arquivo de configuração do Samba.

Once done, reinicie os serviços do Samba com:

sudo systemctl restart smb.servicesudo systemctl restart nmb.service

Nas seções seguintes, mostraremos como se conectar a um compartilhamento do Samba a partir de clientes Linux, MacOS e Windows.

Conectar-se a um Samba Share a partir do Linux #

Os utilizadores do Linux podem aceder ao Samba Share a partir da linha de comandos, utilizando o gestor de ficheiros ou montar o Samba Share.

Usar o cliente smbclient #

smbclient é uma ferramenta que lhe permite aceder ao Samba a partir da linha de comandos. O pacote smbclient não está pré-instalado na maioria das distribuições Linux, portanto você precisará instalá-lo com o seu gerenciador de pacotes de distribuição.

Para instalar smbclient no Ubuntu e Debian run:

sudo apt install smbclient

Para instalar smbclient no CentOS e Fedora run:

sudo yum install samba-client

A sintaxe para aceder a uma partilha do Samba é a seguinte:

mbclient //samba_hostname_or_server_ip/share_name -U username

Por exemplo para conectar a um compartilhamento chamado josh em um servidor Samba com endereço IP 192.168.121.118 como usuário josh você executaria:

smbclient //192.168.121.118/josh -U josh

Você será solicitado a digitar a senha do usuário.

Enter WORKGROUP\josh's password:

Após você digitar a senha, você será conectado à interface de linha de comando do Samba.

Try "help" to get a list of possible commands.smb: \>

Montagem do Samba share #

Para montar um Samba share no Linux primeiro você precisa instalar o pacote cifs-utils.

Em execução Ubuntu e Debian:

sudo apt install cifs-utils

Em execução CentOS e Fedora:

sudo yum install cifs-utils

Próximo, crie um ponto de montagem:

sudo mkdir /mnt/smbmount

Montagem do compartilhamento usando o seguinte comando:

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

Por exemplo para montar um compartilhamento chamado josh em um servidor Samba com endereço IP 192.168.121.118 como usuário josh para o ponto de montagem /mnt/smbmount que você executaria:

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

Você será solicitado a digitar a senha do usuário.

Password for josh@//192.168.121.118/josh: ********

Usando GUI #

Arquivos, o gerenciador de arquivos padrão no Gnome tem uma opção integrada para acessar compartilhamentos Samba.

  1. Arquivos Abertos e clique em “Outros Locais” na barra lateral.
  2. Em “Conectar ao Servidor”, digite o endereço do compartilhamento Samba no seguinte formato smb://samba_hostname_or_server_ip/sharename.
  3. Clique em “Connect” e aparecerá a seguinte tela:

  4. Selecione “Registered User”, digite o nome de usuário e senha do Samba e clique em “Connect”.
  5. Os arquivos no servidor do Samba serão mostrados.

Conectar a um Samba Share a partir de macOS #

Em macOS, pode aceder ao Samba Shares a partir da linha de comandos ou utilizando o Finder padrão do gestor de ficheiros macOS. Os passos seguintes mostram como aceder à partilha utilizando o Finder.

  1. Abrir “Finder”, seleccione “Go” e clique em “Connect To”.
  2. Em “Connect To”, introduza o endereço da partilha Samba no seguinte formato smb://samba_hostname_or_server_ip/sharename.

  3. Clique em “Connect” e aparecerá o seguinte ecrã:

    >

  4. Seleccionar “Registered User”, introduza o nome de utilizador e palavra-passe do Samba e clique em “Connect”.
  5. Os ficheiros no servidor Samba serão mostrados.

Conectar a um Samba Share a partir do Windows #

Os utilizadores do Windows também têm uma opção para se ligarem ao Samba Share a partir da linha de comandos e da GUI. Os passos abaixo mostram como aceder à partilha usando o Explorador de Ficheiros do Windows.

  1. Abrir o Explorador de Ficheiros e no painel esquerdo clique com o botão direito do rato em “Este PC”.
  2. Seleccionar “Escolher uma localização de rede personalizada” e depois clique em “Seguinte”.
  3. Em “Internet ou endereço de rede”, introduza o endereço da partilha do Samba no seguinte formato \samba_hostname_or_server_ip\sharename.

  4. Clique em “Next” (Próximo) e ser-lhe-á pedido que introduza as credenciais de início de sessão como mostrado abaixo:

  5. Na janela seguinte, pode digitar um nome personalizado para a localização da rede. O nome padrão será capturado pelo servidor Samba.

  6. Clique em “Next” para passar para a última tela do assistente de configuração da conexão.
  7. Clique em “Finish” e os arquivos no servidor Samba serão mostrados.

Conclusion #

Neste tutorial, você aprendeu como instalar um servidor Samba no CentOS 7 e criar diferentes tipos de compartilhamento e usuários. Nós também mostramos como se conectar ao servidor Samba a partir de dispositivos Linux, MacOS e Windows.

Deixe uma resposta

O seu endereço de email não será publicado.