Skip to content

📁 FileServer no Debian com pacotes binários

Este guia mostra como instalar e configurar o Samba4 em um servidor Debian 13, criando compartilhamentos de rede com permissões de usuários.

Primeiramente vamos ajustar as configurações padrão de rede no Servidor.

  • Ip fixo do Servidor = 192.168.70.250
  • Roteador local = 192.168.70.1
  • Gateway = o roteador
  • DNS = o roteador

1 - Setando ip fixo na placa de rede:

vim /etc/network/interfaces
allow-hotplug en7s0
iface enp7s0 inet static
address 192.168.70.250
netmask 255.255.255.0
gateway 192.168.70.1

2 - Setando as Configurações de DNS:

vim /etc/resolv.conf
nameserver 192.168.70.1

3 - Setando as Configurações de hosts:

hostnamectl set-hostname smb01
vim /etc/hosts
127.0.0.1 localhost 
127.0.1.1 smb01.esharknet.edu smb01
192.168.70.250 smb01.esharknet.edu smb01

4 - Sincronizando, atualizando os pacotes e o Sistema operacional:

sudo apt update && sudo apt full-upgrade

5 - Instalando o pacote do SAMBA4:

    sudo apt install samba -y

6 - Adicionando ao sistema os usuários que terão acesso aos diretórios DE REDE (sem shell e sem home):

    sudo useradd -s /bin/false -M kalel
    sudo useradd -s /bin/false -M diana
Para liberar um shell em caso de necessidade: "sudo usermod -s /bin/bash kalel" OU editar o "/etc/passwd"

7 - Criando os grupos do sistema aos quais setaremos permissão de acesso aos diretórios:

    sudo groupadd gdiretoria
    sudo groupadd gfinanceiro

Adicionando os usuários aos grupos ao qual terão acesso:

    sudo usermod -aG gdiretoria kalel
    sudo usermod -aG gfinanceiro diana

Adicionando os usuários ao banco de senhas do Samba:

    sudo smbpasswd -a kalel
    sudo smbpasswd -a diana

8 - Criando os diretórios para os compartilhamentos de rede:

    sudo mkdir -p /srv/samba/arquivos/diretoria
    sudo mkdir -p /srv/samba/arquivos/financeiro
    sudo mkdir -p /srv/samba/arquivos/publica

9 - Definindo as permissões das pastas:

A flag 2 → setgid: faz com que novos arquivos/subdiretórios criados dentro, herdem as permissões do grupo á que pertença o diretório principal.

    sudo chmod 2770 -R /srv/samba/arquivos/diretoria
    sudo chmod 2770 -R /srv/samba/arquivos/financeiro
    sudo chmod 2775 -R /srv/samba/arquivos/publica

    sudo chown -R root:gdiretoria /srv/samba/arquivos/diretoria
   sudo chown -R root:gfinanceiro /srv/samba/arquivos/financeiro
sudo chown -R nobody:nogroup /srv/samba/arquivos/publica

10 - Antes de editar, faça backup do arquivo principal do SAMBA4:

    sudo mv /etc/samba/smb.conf{,.orig}

11 - Criando o arquivo de configuração do SAMBA4:

    sudo vim /etc/samba/smb.conf

Insira o seguinte conteúdo:

[global]
   workgroup = ESHARKNET
   netbios name = Fileserver
   server string = Servidor de Arquivos
   security = user
   map to guest = bad user
   dns proxy = no

[diretoria]
   comment = Diretório diretoria
   path = /srv/samba/arquivos/diretoria
   browseable = yes
   writable = yes
   guest ok = no
   valid users = @gdiretoria
   write list = @gdiretoria
   create mask = 0660
   directory mask = 2770

[financeiro]
   comment = Diretório financeiro
   path = /srv/samba/arquivos/financeiro
   browseable = no
   writable = yes
   guest ok = no
   valid users = @gfinanceiro
   write list = @gfinanceiro
   create mask = 0660
   directory mask = 2770

[publica]
   comment = Pasta Publica
   path = /srv/samba/arquivos/publica
   browseable = yes
   writable = yes
   guest ok = yes
   create mask = 0664
   directory mask = 2775

12 - Ativando e reiniciando os serviços do SAMBA4:

    sudo systemctl enable smbd
    sudo systemctl restart smbd

13 - Validando se não há erros no smb.conf:

    testparm

14 - Acessando os compartilhamentos de rede:

Agora, de outra máquina na mesma rede, você pode acessar:

  • No Explorer do Windows:

        \\IP_DO_SERVIDOR\diretoria
        \\IP_DO_SERVIDOR\financeiro
        \\IP_DO_SERVIDOR\Publico
    

  • Na barra do gerenciador de arquivos do Linux:

        smb://IP_DO_SERVIDOR
    

Lembre-se de ajustar as configurações de firewall se necessário para permitir o tráfego SMB na sua rede.


SESSÃO DE ANOTAÇÕES:

Diferença entre VALID USERS e WRITE LIST (quem acessa x quem modifica)

     valid users
  • Define quem pode acessar o compartilhamento.

  • Se alguém que não está nessa lista tentar montar o compartilhamento, vai levar acesso negado.

Você pode usar:

  • Usuários individuais: valid users = kalel diana

  • Grupos: valid users = @projetox

     write list
  • Define quem pode escrever (alterar, criar, excluir arquivos).

  • Se não estiver no write list, o usuário só terá permissão de leitura, mesmo que consiga acessar.

Exemplo:

  • write list = @projetox → só membros do grupo podem escrever.

  • valid users = @todos → todos acessam, mas só o grupo projetox pode gravar.


As flags de SETUID, SETGID e STICKY BIT:

Esses parâmetros, no SAMBA4, controlam as permissões de arquivos e pastas DE REDE, recém-criados dentro do compartilhamento, independentemente das permissões LOCAIS do Linux já existentes.

Significado dos valores

DIRETÓRIOS:

* directory mask = 0775

Afeta DIRETÓRIOS novos.

0775 em octal:

0 → bits especiais (setuid/setgid/sticky) desligados

7 → dono: leitura (r), escrita (w), execução (x)

7 → grupo: leitura (r), escrita (w), execução (x)

5 → outros: leitura (r), escrita (x), execução (-)

ARQUIVOS:

* create mask = 0664

Afeta ARQUIVOS novos (arquivos nunca precisam de "execução").

0664 em octal:

0 → bits especiais (setuid/setgid/sticky) desligados

6 → dono: leitura (r), escrita (w), execução (-)

6 → grupo: leitura (r), escrita (w), execução (-)

4 → outros: leitura (r), escrita, (-) execução (-)

Referências

[1] Debian Releases [2] Securing Samba on debian 10 - smb [3] Samba Server Security [4] Debian Samba Setup: Complete Configuration Guide for Beginners [5] smb.conf - SambaWiki

THAT'S ALL FOLKS