neste tutorial, vamos aprender a instalar e configurar um servidor de Samba no Ubuntu para partilhar ficheiros na rede local. Samba é uma implementação de protocolo SMB/CIFS livre e de código aberto Para Unix e Linux que permite compartilhamento de arquivos e impressão entre máquinas Unix / Linux, Windows e macOS em uma rede local.

Samba é normalmente instalado e executado no Linux., Ele compreende vários programas que servem propósitos diferentes mas relacionados, os dois mais importantes dos quais são:

  • smbd: provides SMB/CIFS service (file sharing and printing), can also act as a Windows domain controller.
  • nmbd: este servidor oferece serviço de nomes NetBIOS, escuta pedidos de servidores de nomes. Ele também permite que o servidor de Samba seja encontrado por outros computadores na rede.

Como instalar o servidor de Samba no Ubuntu

Samba está incluído na maioria das distribuições Linux. Para instalar o Samba no Ubuntu, basta executar o seguinte comando no terminal.,

sudo apt install samba samba-common-bin

a última versão estável disponível é 4.12.0, lançado em 03 de Março de 2019. Para verificar a sua versão do Samba, execute

smbd --version

Sample output:

Version 4.7.6-Ubuntu

para verificar se o serviço de Samba está a correr, envie o seguinte comando.

systemctl status smbd nmbd

Para começar a estes dois serviços, emita o seguinte comando:

sudo systemctl start smbd nmbd

uma Vez iniciado, o smbd será escuta na porta TCP 139 e 445. nmbd estará à escuta nas portas UDP 137 e 138.,

  • TCP 139: usado para partilha de ficheiros e impressoras e outras operações.
  • TCP 445: The NetBIOS-less CIFS port.
  • UDP 137: usado para navegação na rede NetBIOS.
  • UDP 138: usado para o serviço de nomes NetBIOS.

Se activou a firewall UFW no Ubuntu, então terá de abrir as portas acima na firewall com o seguinte comando.

sudo ufw allow samba

crie uma partilha de Samba privada

nesta secção, veremos como criar uma partilha de Samba privada que exija que o cliente indique o nome de utilizador e a senha para obter acesso., O principal arquivo de configuração do Samba está localizado em: /etc/samba/smb.conf. Você pode editá-lo no terminal com um editor de texto da linha de comandos como nano.

sudo nano /etc/samba/smb.conf

In Thesection, make sure the value ofworkgroup is the same with the workgroup settings of Windows computers.,

workgroup = WORKGROUP

Você pode encontrar a configuração no seu computador com Windows, indo para Control Panel > System and Security > System.

depois descer para o fundo do ficheiro. (In nano text editor, you can achieve that by pressing CTRL+W then CTRL+V. ) Adicione uma nova seção como abaixo.,

explicação:

  • Private é o nome da pasta que será mostrado na rede Windows.
  • o comentário é uma descrição para a pasta partilhada.
  • o parâmetro path especifica a localização da pasta partilhada. I use /srv/samba/private/ as an example. Você também pode usar uma pasta na sua pasta pessoal.
  • browseable = yes: permitir que outros computadores na rede vejam o servidor de Samba e a partilha de samba., Se configurado como não, os usuários têm que saber o nome do servidor de Samba e, em seguida, digitar manualmente um caminho no Gestor de arquivos para acessar a pasta compartilhada.
  • guest ok = no: desactivar o acesso aos hóspedes. Em outras palavras, você precisa digitar o nome de usuário e senha no computador do cliente para acessar a pasta compartilhada.
  • writable = yes: concede permissão de leitura e escrita aos clientes.
  • valid users = @samba: apenas os utilizadores do Grupo samba estão autorizados a aceder a esta partilha de Samba.

Salve e feche o ficheiro., (Para gravar o arquivo em nano editor de texto, pressione , em seguida, pressione Enter para confirmar o nome do arquivo para escrever. Para fechar o arquivo, pressione Ctrl+X.) Agora precisamos criar um usuário de Samba. Primeiro, precisamos criar uma conta padrão de usuário Linux com o seguinte comando. Substitua username pelo seu nome de utilizador desejado.

sudo adduser username

ser-lhe-á solicitado que defina uma senha Unix., Depois disso, você também precisa definir uma senha de Samba separada para o novo usuário com o seguinte comando:

sudo smbpasswd -a username

Crie o grupo de samba.

sudo groupadd samba

e adicionar este utilizador ao Grupo samba.

sudo gpasswd -a username samba

Crie a pasta de partilha privada.

sudo mkdir -p /srv/samba/private/

o grupo de samba necessita de ter lido, escrever e executar permissões na pasta partilhada. Você pode conceder estas permissões executando o seguinte comando., (If your system doesn’t have the setfacl command, you need to install the acl package with sudo apt install acl.)

sudo setfacl -R -m "g:samba:rwx" /srv/samba/private/

Next, execute o seguinte comando para verificar se há erros sintáticos.

testparm

Agora tudo o que resta a fazer é reiniciar smbd e nmbd daemon.,

sudo systemctl restart smbd nmbd

como criar uma partilha pública Samba sem autenticação

para criar uma partilha pública sem necessidade de utilizador e senha, as seguintes condições devem ser cumpridas.

  • Setsecurity = user na secção global do ficheiro de configuração do Samba. Embora você possa criar uma partilha pública com o modo security = share, mas este modo de segurança está desactualizado. It is strongly suggested that you avoid share mode.
  • Set map to guest = bad user na secção global do ficheiro de configuração do Samba., Isto fará com que use uma conta de hóspedes para autenticar clientes que não tenham conta registrada no servidor Samba. Uma vez que é uma conta de hóspedes, os clientes de Samba não precisam digitar a senha.
  • Setguest ok = yes na definição de partilha para permitir o acesso dos hóspedes.
  • Grant ler, escrever e executar a permissão da pasta pública para a conta nobody, que é a conta de hóspedes por omissão.

de facto, as duas primeiras condições já estão preenchidas, uma vez que o Samba por omissão USA estas duas definições.,

Aqui está um guia passo a passo para criar uma partilha pública. Primeiro, abrir e editar o ficheiro de configuração do Samba.

sudo nano /etc/samba/smb.conf

In Thesection, make sure the value ofworkgroup is the same with the workgroup settings of Windows computers.

workgroup = WORKGROUP

Você pode encontrar a configuração no seu computador com Windows, indo para Control Panel > System and Security > System.,

em seguida, descer para o fundo do ficheiro e colar as seguintes linhas.

Salve e feche o arquivo. Em seguida, crie a pasta /srv/samba/public/.

sudo mkdir -p /srv/samba/public

em Seguida, certifique-se de que o nobody conta de ler, escrever e executar permissão na pasta pública, executando o seguinte comando. (If your system doesn’t have the setfacl command, you need to install the acl package with sudo apt install acl.,)

sudo setfacl -R -m "u:nobody:rwx" /srv/samba/public/

reiniciar smbd e nmbd.

sudo systemctl restart smbd nmbd

acessando a pasta compartilhada Samba do Windows

em um computador do Windows que está na mesma rede, open File Explorer e clique em Network na área esquerda. Se você ver a seguinte mensagem, então você precisa clicar na mensagem e ligar a descoberta da rede e compartilhamento de arquivos.

File sharing is turned off. Some network computers and devices might not be visible.

Next, enter \\ seguido do endereço IP do servidor de Samba na barra de endereços do File Explorer, como este: \\192.168.0.102., Você verá uma lista de recursos compartilhados no servidor de Samba.

em seguida, faça duplo-click na pasta partilhada. Para acessar a partilha privada, você precisa digitar o nome de usuário e senha do samba. Não precisa de o fazer para aceder a acções públicas.

Uma Vez ligado, poderá ler, escrever e apagar ficheiros na pasta partilhada com o Samba.

erro de ligação

Se tiver o seguinte erro:

You do not have permission to access \\hostname\share-name. Contact your network administrator to request access.

pode tentar ligar-se à partilha do Samba a partir da linha de comandos., Abre uma linha de comandos e depois executa o seguinte comando para fechar a sessão de Samba actual.

net use \\samba-server-ip\share-name /delete

em seguida, conectar-se ao compartilhamento do Samba com o seguinte comando:

net use \\samba-server-ip\share-name /user:samba-username password

o comando foi concluído com êxito, vá para o guia de Rede no Explorador de arquivos e agora você deve ser capaz de acessar o compartilhamento do Samba.

Drive Mapping on Windows

Uma característica do Sistema Operacional Windows é a capacidade de mapear uma carta de condução (como S:) para um diretório remoto., Para mapear a letra drive S: para a partilha Samba, carregue com o botão direito na pasta partilhada samba e seleccione a unidade de rede de mapas. Em seguida, escolha uma carta de condução e clique em Terminar.

Uma vez estabelecido o mapeamento de Unidades, as aplicações podem aceder aos ficheiros na partilha de Samba através da letra de transmissãoS:. E esta partilha do Samba será montada automaticamente quando entrar no seu computador do Windows.,

a aceder à pasta de partilha do Samba no Gestor de ficheiros Nautilus no Linux

Se estiver a usar o Gestor de ficheiros Nautilus, carregue emOther Locations na área esquerda. No fundo, você verá uma opção para se conectar ao servidor. Para aceder à sua partilha de Samba, escreva smb:// seguido do endereço IP do servidor de Samba e carregue em Enter. Por exemplo:

  • smb://192.168.0.102

Você vai ver uma lista de recursos compartilhados no servidor Samba.,

Se carregar na pasta partilhada privada, terá de indicar o nome de utilizador e a senha do Samba. Se você clicar na pasta pública compartilhada, então escolha se conectar como anônimo.

montar automaticamente a partilha de Samba a partir da linha de comandos no Linux

Se tiver de montar automaticamente a partilha de Samba no arranque, poderá usar a linha de comandos para montar e Adicionar depois um item no ficheiro /etc/fstab. Para fazer isso, você precisa instalar o pacote cifs-utils.,

CentOS/RHEL

sudo dnf install cifs-utils

Debian/Ubuntu

sudo apt install cifs-utils

em Seguida, crie um ponto de montagem para o compartilhamento do Samba.

sudo mkdir /mnt/samba-private

Agora você pode usar o seguinte comando para montar uma pasta partilhada privada.

sudo mount -t cifs -o username=your_samba_username //192.168.0.102/private /mnt/samba-private/

pedir-lhe-á para introduzir a senha do Samba. Depois disso, ele será montado em/mnt/samba-private/ diretório.

para montar automaticamente a partilha do Samba, edite /etc/fstab ficheiro.

sudo nano /etc/fstab

adicione a seguinte linha no ficheiro.,

em que:

  • /192.168. 0. 102/privado: o endereço IP do servidor de Samba e o nome da partilha.
  • /mnt / samba-private: ponto de montagem para a partilha de Samba.
  • cifs: tipo de Sistema de ficheiros
  • x-systemd.automount: esta opção diz ao systemd para criar uma unidade de montagem automática para o sistema de ficheiros. Nós usamos isso porque ele garante que o sistema de arquivos remoto é montado apenas depois de haver acesso à rede.
  • _netdev: indica que a montagem necessita de rede.
  • credenciais=: Linux deve procurar por credenciais no arquivo .,
  • uid=1000, gid = 1000: por padrão, o sistema de ficheiros montado seria propriedade do utilizador root. Usamos uid e gid para mudar a propriedade do sistema de arquivos. Normalmente você usa seu próprio uid e gid, que são ambos 1000 por padrão.
  • x-gvfs-show: se estiver a usar o ambiente de trabalho GNOME ou os seus derivados, poderá usar esta opção para mostrar o sistema de ficheiros montado no Gestor de ficheiros.

Salve e feche o ficheiro. Em seguida, criar o arquivo credencial.

sudo nano /etc/samba-credential.conf

adicione as seguintes linhas no ficheiro.

gravar e fechar o ficheiro., Certifique-se de que apenas o usuário root pode ler este arquivo.

sudo chmod 600 /etc/samba-credential.conf

Se reiniciar o seu computador Linux agora, a partilha do Samba será montada automaticamente.

não consegue escrever para a partilha de Samba?

a montagem CIFS acima descrita permite-lhe escrever para a partilha de Samba. Se vir o seguinte erro ao criar um ficheiro:

Read-only file system

verifique se definiu writable = yes no ficheiro de configuração do Samba., Às vezes, a pasta compartilhada Samba está em um disco rígido externo, em seguida, certifique-se de montar o disco rígido externo em Modo de leitura-escrita no servidor Samba. Por exemplo, eu montei o meu btrfs disco rígido com a seguinte linha em /etc/fstab.

LABEL=5TB /mnt/5TB btrfs defaults 0 0

acontece que a opção defaults não permite a operação de escrita. Para que possa ser escrita, adicione rw opção.

LABEL=5TB /mnt/5TB btrfs defaults,rw 0 0

depois desmontar o disco rígido. Tens de usar o teu próprio ponto de montagem.

sudo umount /mnt/5TB

e montá-lo novamente.,

sudo mount -a

dica de resolução de problemas

Se o seu servidor de Samba não estiver a funcionar como esperado, poderá verificar os ficheiros de registo em /var/log/samba/ directory. Pode adicionar a seguinte linha no ficheiro secção de /etc/samba/smb.conf para aumentar o nível de registo se quiser registar mais informações.

log level = 2

encerrando

é isso! Espero que este tutorial o tenha ajudado a configurar o servidor de Samba no Ubuntu. Como sempre, se você achou este post útil, então subscreva a nossa newsletter gratuita., E você também pode querer ler o seguinte artigo para compartilhar impressora na rede local.

  • Configurar Servidor de Impressão CUPS no Ubuntu (Bonjour, IPP, o Samba, o AirPrint)
de Avaliá este tutorial

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *