Android

Como instalar e configurar o samba no ubuntu 18.04

Instalando e configurando samba no ubuntu

Instalando e configurando samba no ubuntu

Índice:

Anonim

O Samba é uma reimplementação gratuita 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.

Este tutorial explica como instalar o Samba no Ubuntu 18.04 e configurá-lo como um servidor independente para fornecer compartilhamento de arquivos em diferentes sistemas operacionais em uma rede.

Criaremos os seguintes compartilhamentos e usuários do Samba.

Comercial:

  • sadmin - Um usuário administrativo com acesso de leitura e gravação a todos os compartilhamentos. josh - Um usuário comum com seu próprio compartilhamento de arquivo privado.

Ações:

  • usuários - Esse compartilhamento estará acessível com permissões de leitura / gravação por todos os usuários. josh - Esse compartilhamento estará acessível com permissões de leitura / gravação apenas pelos usuários josh e sadmin.

Os compartilhamentos de arquivos estarão acessíveis em todos os dispositivos da sua rede. Mais adiante neste tutorial, também forneceremos instruções detalhadas sobre como conectar-se ao servidor Samba a partir de clientes Linux, Windows e macOS.

Pré-requisitos

Antes de continuar, verifique se você está conectado ao sistema Ubuntu 18.04 como um usuário com privilégios de sudo.

Instalando o Samba no Ubuntu

O Samba está disponível nos repositórios oficiais do Ubuntu. Para instalá-lo no seu sistema Ubuntu, siga os passos abaixo:

  1. Comece atualizando o índice de pacotes apt:

    sudo apt update

    Instale o pacote Samba com o seguinte comando:

    sudo apt install samba

    Depois que a instalação estiver concluída, o serviço Samba será iniciado automaticamente. Para verificar se o servidor Samba está em execução, digite:

    sudo systemctl status smbd

    A saída deve ser semelhante a abaixo, indicando que o serviço Samba está ativo e em execução:

    ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 15142 (smbd) Status: "smbd: ready to serve connections…" Tasks: 4 (limit: 1152) CGroup: /system.slice/smbd.service…

Neste ponto, o Samba foi instalado e pronto para ser configurado.

Configurando firewall

Supondo que você esteja usando o UFW para gerenciar seu firewall, você pode abrir as portas ativando o perfil 'Samba':

sudo ufw allow 'Samba'

Configurando opções globais de samba

Antes de fazer alterações no arquivo de configuração do Samba, crie um backup para fins de referência futura:

sudo cp /etc/samba/smb.conf{,.backup}

O arquivo de configuração padrão que acompanha o pacote Samba está configurado para o servidor Samba independente. Abra o arquivo e verifique se a server role está definida como standalone server

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

… # Most people will want "standalone sever" or "member server". # Running as "active directory domain controller" will require first # running "samba-tool domain provision" to wipe databases and create a # new domain. server role = standalone server…

Por padrão, o Samba escuta em todas as interfaces. Se você deseja restringir o acesso ao servidor Samba somente da sua rede interna, remova o comentário das duas linhas a seguir e especifique as interfaces às quais se vincular:

/etc/samba/smb.conf

… # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes…

Depois de concluído, execute o utilitário testparm para verificar se há erros no arquivo de configuração do Samba. Se não houver erros de sintaxe, você verá o Loaded services file OK.

Por fim, reinicie os serviços do Samba com:

sudo systemctl restart smbd sudo systemctl restart nmbd

Criando usuários do Samba e estrutura de diretórios

Para facilitar a manutenção e a flexibilidade, em vez de usar os diretórios pessoais padrão ( /home/user ), todos os diretórios e dados do Samba estarão localizados no diretório /samba .

Para criar o diretório /samba , digite:

sudo mkdir /samba

Defina a propriedade do grupo como sambashare . Este grupo é criado durante a instalação do Samba; posteriormente, adicionaremos todos os usuários do Samba a este grupo.

sudo chgrp sambashare /samba

O Samba usa usuários do Linux e sistema de permissão de grupo, mas possui seu próprio mecanismo de autenticação separado da autenticação padrão do Linux. Criaremos os usuários usando a ferramenta padrão useradd Linux e, em seguida, definiremos a senha do usuário com o utilitário smbpasswd .

Como mencionamos na introdução, criaremos um usuário comum que terá acesso ao seu compartilhamento de arquivos privado e uma conta administrativa com acesso de leitura e gravação a todos os compartilhamentos no servidor Samba.

Criando usuários do 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:

  • -M -não cria o diretório inicial do usuário. Criaremos este diretório manualmente. -d /samba/josh - define o diretório inicial do usuário como /samba/josh . -s /usr/sbin/nologin - desativa o acesso ao shell para este usuário. -G sambashare - adicione o usuário ao grupo sambashare .

Crie o diretório inicial do usuário e configure a propriedade do diretório para o usuário josh e group sambashare :

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

O comando a seguir adicionará o bit setgid ao diretório /samba/josh , para que os arquivos recém-criados neste diretório herdem o grupo do diretório pai. Dessa forma, não importa qual usuário crie um novo arquivo, o arquivo terá o proprietário 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 poderá ler / gravar neste arquivo.

sudo chmod 2770 /samba/josh

Inclua a conta de usuário josh no banco de dados Samba, configurando a senha do usuário:

sudo smbpasswd -a josh

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

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

Depois que a senha é definida para ativar a conta do Samba, execute:

sudo smbpasswd -e josh

Enabled user josh.

Para criar outro usuário, repita o mesmo processo que ao criar o usuário josh .

Em seguida, vamos criar um usuário e um grupo sadmin . Todos os membros deste grupo terão permissões administrativas. Posteriormente, se você quiser conceder permissões administrativas para outro usuário, adicione-o ao grupo sadmin .

Crie 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 aos grupos sambashare e sambashare .

Defina uma senha e habilite o usuário:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Em seguida, crie o diretório de compartilhamento Users :

sudo mkdir /samba/users

Defina a propriedade do diretório como usuário sadmin e group sambashare :

sudo chown sadmin:sambashare /samba/users

Este diretório estará acessível por todos os usuários autenticados. O comando chmod seguir fornece acesso de gravação / leitura aos membros do grupo sambashare no diretório /samba/users :

sudo chmod 2770 /samba/users

Configurando compartilhamentos Samba

Abra o arquivo de configuração do Samba e acrescente as seções:

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

path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin

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

  • e - Os nomes dos compartilhamentos que você usará ao fazer login. path - O caminho para o compartilhamento. browseable - se o compartilhamento deve ser listado na lista de compartilhamentos disponíveis. Ao definir como no outro usuário, não será possível ver o compartilhamento. read only - se os usuários especificados na lista de valid users podem gravar neste 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 diretórios recém-criados neste compartilhamento. valid users - Uma lista de usuários e grupos que têm permissão para acessar o compartilhamento. Os grupos são prefixados com o símbolo @ .

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

Depois de concluído, reinicie os serviços do Samba com:

sudo systemctl restart smbd sudo systemctl restart nmbd

Nas seções a seguir, mostraremos como conectar-se a um compartilhamento Samba de clientes Linux, macOS e Windows.

Conectando a um compartilhamento Samba do Linux

Os usuários do Linux podem acessar o compartilhamento samba na linha de comando, usando o gerenciador de arquivos ou montar o compartilhamento Samba.

Usando o cliente smbclient

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

Para instalar o smbclient no Ubuntu e Debian, execute:

sudo apt install smbclient

Para instalar o smbclient no CentOS e no Fedora, execute:

sudo yum install samba-client

A sintaxe para acessar um compartilhamento Samba é a seguinte:

mbclient //samba_hostname_or_server_ip/share_name -U username

Por exemplo, para conectar-se 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 inserir a senha do usuário.

Enter WORKGROUP\josh's password:

Depois de inserir a senha, você será conectado à interface da linha de comando do Samba.

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

Montando o compartilhamento Samba

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

No Ubuntu e Debian, execute:

sudo apt install cifs-utils

No CentOS e no Fedora, execute:

sudo yum install cifs-utils

Em seguida, crie um ponto de montagem:

sudo mkdir /mnt/smbmount

Monte o 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 no ponto de montagem /mnt/smbmount você executaria:

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

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

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

Usando GUI

Arquivos, o gerenciador de arquivos padrão no Gnome possui uma opção embutida para acessar os compartilhamentos do Samba.

  1. Abra Arquivos e clique em "Outros locais" na barra lateral. Em "Conectar ao servidor", digite o endereço do compartilhamento Samba no seguinte formato smb://samba_hostname_or_server_ip/sharename Clique em "Connect" e a seguinte tela será exibida:

Conclusão

Neste tutorial, você aprendeu como instalar o servidor Samba no Ubuntu 18.04 e criar diferentes tipos de usuários e compartilhados. Também mostramos como se conectar ao servidor Samba a partir de dispositivos Linux, macOS e Windows.

samba ubuntu