Sign inSign up

3xceler/samba

By 3xceler

•Updated 6 months ago

Samba4 AD DC Controlador de Domínio Active Directory com persistência total.

Image
Networking
1

337

3xceler/samba repository overview

==============================================================================

⁠PROJETO: EXCELER Samba4 AD DC

⁠BASE: Ubuntu 24.04 LTS (Noble Numbat)

⁠DESCRICAO: Controlador de Domínio Active Directory com persistência total.

⁠==============================================================================

⁠VARIAVEIS DE AMBIENTE (PADROES)

DOMINIO=corp.dominio.com.br
DOMAIN=corp
REINO=CORP.DOMINIO.COM.BR
HOSTNAME=smb0001
DNSFORWARDER="8.8.8.8 1.1.1.1 2001:4860:4860::8888 2606:4700:4700::1111"
ADMIN_PASS="!QWE@qwe"
SAMBA_DATA_DIR=/var/lib/samba
SAMBA_SHARE_DIR=/share
SAMBA_LOG_DIR=/var/lib/samba/logs
DATA_ETC=/var/lib/samba/etc
DATA_PRIV=/var/lib/samba/private
DATA_STATE=/var/lib/samba/state
DATA_SYSVOL=/var/lib/samba/sysvol
LOG_LEVEL=1
MAX_LOG_SIZE=0
SMB_MIN_PROTO=SMB2_10
SMB_MAX_PROTO=SMB3
DEADTIME=15
FUNCTIONAL_LEVEL=2008_R2
IDMAP_LOW=10000
IDMAP_HIGH=20000
PASSWORD_COMPLEXITY=on
PASSWORD_HISTORY=1

IFACE0=enp1s0
IFACE0_IPV4=192.168.1.253
IFACE0_IPV6=FD10:AAAA:BBBB:CCCC:ADAD::1
IFACE0_MASKV4=24
IFACE0_MASKV6=64
IFACE1=wg0
IFACE1_IPV4=10.99.99.1
IFACE1_IPV6=fd10:100:100:100:adad::1
IFACE1_MASKV4=16
IFACE1_MASKV6=64

⁠PORTAS USADAS PELOS SERVISOS DO SAMBA AD-DC

53/tcp 
53/udp 
88/tcp 
88/udp 
135/tcp 
137/udp 
138/udp 
139/tcp 
389/tcp 
389/udp 
445/tcp 
464/tcp 
464/udp 
636/tcp
3268/tcp
3269/tcp

⁠EXEMPLO DE STACK

version: "3.8"

services:
  app:
    image: 3xceler/samba:4-ubt
    restart: always
    hostname: smb0001
    domainname: corp.exceler.tec.br
    # --- REDE ---
    # Utiliza a inteface de rede do hospedeiro. 
    # Certifique-se de que o hospedeiro tenha suporte a IPv6 habilitado.
    tty: true            # Aloca um terminal virtual (o que você faz no manual)
    stdin_open: true     # Mantém a entrada aberta
    privileged: true
    networks:
      - host
    security_opt:
      - apparmor:unconfined
      - seccomp:unconfined
    
    # --- PRIVILÉGIOS DE SISTEMA ---
    # O Samba AD DC exige SYS_ADMIN para manipular ACLs do Windows (Permissões NTFS)
    # e atributos estendidos (xattr) no sistema de arquivos do Linux.
    cap_add:
      - SYS_ADMIN
      - NET_ADMIN
      
    logging:
      driver: "json-file"
      options:
        max-size: "10m"   # Tamanho máximo de cada arquivo
        max-file: "3"     # Mantém no máximo 3 arquivos
    
    # --- CONFIGURAÇÃO DINÂMICA (VARIÁVEIS DE AMBIENTE) ---
    # Estas variáveis são processadas pelo 'entrypoint.sh' para configurar o smb.conf
    environment:
      # Identidade do Domínio
      - DOMINIO=corp.dominio.com.br
      - REINO=CORP.DOMINIO.COM.BR
      - HOSTNAME=smb0001
      
      # Rede e DNS
      - IFACE0=enp1s0
      - IFACE0_IPV4=192.168.1.2
      - IFACE0_IPV6=FD10:AAAA:BBBB:CCCC:ADAD::1
      - IFACE0_MASKV4=24
      - IFACE0_MASKV6=64
      - IFACE1=wg0
      - IFACE1_IPV4=10.99.99.1
      - IFACE1_IPV6=fd10:100:100:100:adad::1
      - IFACE1_MASKV4=16
      - IFACE1_MASKV6=64
      - DNSFORWARDER=8.8.8.8 1.1.1.1 2001:4860:4860::8888 2606:4700:4700::1111
      
      # Segurança (Senha complexa obrigatória para o Provisionamento do AD)
      - ADMIN_PASS=!QWE@qwe
      
      # Performance e Depuração
      - LOG_LEVEL=1           # Nível de verbosidade (1 a 10)
      - MAX_LOG_SIZE=5000     # Tamanho máximo do arquivo de log em KB antes da rotação
      - SMB_MIN_PROTO=SMB2_10 # Desabilita SMBv1 por segurança
      - SMB_MAX_PROTO=SMB3    # Suporte a protocolos modernos do Windows 1011
      - DEADTIME=15           # Tempo de inatividade (minutos) antes de encerrar sessão     ociosa
      
      # Compatibilidade Active Directory
      - FUNCTIONAL_LEVEL=2008_R2
      - PASSWORD_COMPLEXITY=on

    # --- PERSISTÊNCIA DE DADOS ---
    # Mapeamento de volumes externos para garantir que os dados sobrevivam à recriação do container.
    volumes:
      - samba_data:/var/lib/samba
      - samba_share:/share
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro

# --- RECURSOS EXTERNOS ---
# Define que estes recursos devem existir previamente no HostSwarm.

networks:
  host:
    external: true
    name: host

volumes:
  samba_data:
    external: true
  samba_share:
    external: true

Tag summary

Content type

Image

Digest

sha256:508ece10d…

Size

117.9 MB

Last updated

6 months ago

docker pull 3xceler/samba:4-ubt