Skip to content

📁 DC01 instalação por pacotes binários

Atualizando o Sistema operacional:

sudo apt update && sudo apt full-upgrade

Setando as Configurações e 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.254

Setando as Configurações de DNS:

vim /etc/resolv.conf
nameserver 192.168.70.254

Setando as Configurações de hosts:

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

Instalação dos pacotes necessários:

apt install samba smb-client krb5-user krb5-config # VALIDAR: winbind acl attr

Durante a configuração do krb5-user, você será solicitado a inserir as informações:

- Default Kerberos version 5 realm: ESHARKNET.EDU
- KDCs for your realm: dc01
- Administrative server for your Kerberos realm: dc01

SE vc errar nessa parte, pode rodar o reconfigure para o Kerberos, depois:

dpkg-reconfigure krb5.conf

Siga as instruções interativas para configurar o domínio ESHARKNET.edu. SE precisar siga o modelo abaixo:

[libdefaults]
    default_realm = ESHARKNET.EDU
    dns_lookup_realm = false
    dns_lookup_kdc = true

# The following krb5.conf variables are only for MIT Kerberos.
    kdc_timesync = 1
    ccache_type = 4
    forwardable = true
    proxiable = true
    rdns = false

# The following libdefaults parameters are only for Heimdal Kerberos.
    fcc-mit-ticketflags = true

[realms]
    esharknet.edu = {
        kdc = dc01.esharknet.edu
        admin_server = dc01.esharknet.edu
        default_domain = esharknet.edu
    }

[domain_realm]
    .esharknet.edu = ESHARKNET.EDU
    esharknet.edu = ESHARKNET.EDU

Valide o arquivo do nsswitch.conf:

vim /etc/nsswitch.conf
passwd:       files systemd winbind
group:        files systemd winbind

Parando os serviços smbd, nmbd, winbind, ANTES de provisionar o domínio:

systemctl stop smbd nmbd winbind

systemctl disable smbd nmbd winbind

Efetivando o provisionamento do domínio:

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

samba-tool domain provision --use-rfc2307 --interactive
Realm [ESHARKNET.EDU]: (nome de seu domínio completo).
dc01 [esharknet]: (nome de seu domínio abreviado).
Server Role (dc, member, standalone) [dc]: (tipo de servidor controlador de domínio).
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: (tipo de serviço DNS).
DNS forwarder IP address (write ‘none’ to disable forwarding) [192.168.0.1]: (Encaminhador DNS)

Validando as portas em escuta:

apt install net-tools
netstat -pultan

Ativando os serviços do samba-ad-dc

systemctl unmask samba-ad-dc.service
systemctl enable samba-ad-dc.service
systemctl start samba-ad-dc.service

Revalidando as portas em escuta:

apt install net-tools
netstat -pultan

Reapontando o Servidor de DNS para o próprio DC01:

vim /etc/resolv.conf
nameserver 127.0.0.1

Travando o arquivo contra alterações automáticas:

chattr +i /etc/resolv.conf

Configuração do arquivo smb.conf:

vim /etc/samba/smb.conf

Global parameters

[global]
    dns forwarder = 192.168.122.1
    netbios name = dc01
    realm = ESHARKNET.EDU
    server role = active directory domain controller
    workgroup = ESHARKNET
    idmap_ldb:use rfc2307 = yes

[sysvol]
    path = /var/lib/samba/sysvol
    read only = No

[netlogon]
    path = /var/lib/samba/sysvol/esharknet.edu/scripts
    read only = No

SE for usar o Controlador de Domínio como FileServer (Não recomendado!), adiciona os campos ao smb.conf:

[ARQUIVOS]
    path = /srv/samba/arquivos
    comment = Compartilhamentos da Rede
    browsable = yes
    writable = yes
    read only = no

Criando o diretório compartilhado:

mkdir -p /srv/samba/arquivos

Setando as permissões de acesso:

wbinfo -g
chmod -R 0770 /srv/samba/arquivos
chown -R root:"domain users" /srv/samba/arquivos

Revisando usuários e grupos:

cat /etc/passwd # ( usuários locais do Linux gerencia do LDAP )
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:998:998:systemd Network Management:/:/usr/sbin/nologin
dhcpcd:x:100:65534:DHCP Client Daemon,,,:/usr/lib/dhcpcd:/bin/false
systemd-timesync:x:991:991:systemd Time Synchronization:/:/usr/sbin/nologin
messagebus:x:990:990:System Message Bus:/nonexistent:/usr/sbin/nologin
sshd:x:989:65534:sshd user:/run/sshd:/usr/sbin/nologin
suporte:x:1000:1000:Suporte:/home/suporte:/bin/bash

samba-tool user list # ( usuários de rede gerenciados pelo SAMBA4 )
Administrator
Guest
krbtgt

Outras validações no domínio:

wbinfo -u
ESHARKNET\administrator
ESHARKNET\guest
ESHARKNET\krbtgt

wbinfo -g
ESHARKNET\cert publishers
ESHARKNET\ras and ias servers
ESHARKNET\allowed rodc password replication group
ESHARKNET\denied rodc password replication group
ESHARKNET\dnsadmins
ESHARKNET\enterprise read-only domain controllers
ESHARKNET\domain admins
ESHARKNET\domain users
ESHARKNET\domain guests
ESHARKNET\domain computers
ESHARKNET\domain controllers
ESHARKNET\schema admins
ESHARKNET\enterprise admins
ESHARKNET\group policy creator owners
ESHARKNET\read-only domain controllers
ESHARKNET\protected users
ESHARKNET\dnsupdateproxy

wbinfo --ping-dc
checking the NETLOGON for domain[ESHARNKET dc connection to "dc01.esharknet.edu" succeeded

wbinfo --all-domains
BUILTIN
ESHARKNET

Verificando serviço ativo:

ps aux | grep samba
ps ax | egrep "samba|smbd|nmbd|winbindd"
ps axf

Consultando o Servidor:

testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)

Server role: ROLE_ACTIVE_DIRECTORY_DC

Press enter to see a dump of your service definitions

# Global parameters
[global]
    dns forwarder = 192.168.70.1
    passdb backend = samba_dsdb
    realm = ESHARNKET.INFO
    server role = active directory domain controller
    workgroup = ESHARNKET
    rpc_server:tcpip = no
    rpc_daemon:spoolssd = embedded
    rpc_server:spoolss = embedded
    rpc_server:winreg = embedded
    rpc_server:ntsvcs = embedded
    rpc_server:eventlog = embedded
    rpc_server:srvsvc = embedded
    rpc_server:svcctl = embedded
    rpc_server:default = external
    winbindd:use external pipes = true
    idmap_ldb:use rfc2307 = yes
    idmap config * : backend = tdb
    map archive = No
    vfs objects = dfs_samba4 acl_xattr


[sysvol]
    path = /var/lib/samba/sysvol
    read only = No


[netlogon]
    path = /var/lib/samba/sysvol/esharknet.edu/scripts
    read only = No


[ARQUIVOS]
    comment = Compartilhamentos da Rede
    path = /srv/samba/Arquivos
    read only = No
smbclient --version
Version 4.22.4-Debian-4.22.4+dfsg-1~deb13u1

smbclient -L localhost -U%
Version 4.22.4-Debian-4.22.4+dfsg-1~deb13u1
root@dc01:~# smbclient -L localhost -U%

    Sharename       Type      Comment
    ---------       ----      -------
    sysvol          Disk      
    netlogon        Disk      
    ARQUIVOS        Disk      Compartilhamentos da Rede
    IPC$            IPC       IPC Service (Samba 4.22.4-Debian-4.22.4+dfsg-1~deb13u1)
SMB1 disabled -- no workgroup available

samba-tool domain level show
dc01 and forest function level for dc01 'DC=officinas,DC=edu'

Forest function level: (Windows) 2008 R2
dc01 function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2

Desabilitando a complexidade de senhas (INSEGURO!):

samba-tool domain passwordsettings show
samba-tool domain passwordsettings set --complexity=off
samba-tool domain passwordsettings set --history-length=0
samba-tool domain passwordsettings set --min-pwd-length=0
samba-tool domain passwordsettings set --min-pwd-age=0
samba-tool user setexpiry Administrator --noexpiry

Relendo as configurações do Samba4:

smbcontrol all reload-config

Validando a troca de tickets do Kerberos:

kinit Administrator@ESHARKNET.EDU
klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@ESHARKNET.EDU

Valid starting       Expires              Service principal
23/09/2025 16:35:24  24/09/2025 02:35:24  krbtgt/ESHARKNET.EDU@ESHARKNET.EDU
    renew until 24/09/2025 16:35:19

Consultando serviços do kerberos e do ldap:

host -t A esharknet.edu
esharknet.edu has address 192.168.70.250

Using dc01 server:
Name: esharknet.edu
Address: 192.168.70.1#53
Aliases: 

A has no SRV record
host -t srv _kerberos._tcp.ESHARKNET.edu
_ldap._tcp.esharknet.edu has SRV record 0 100 389 dc01.esharknet.edu.
host -t srv _ldap._tcp.ESHARKNET.edu
_kerberos._udp.esharknet.edu has SRV record 0 100 88 dc01.esharknet.edu.
dig ESHARKNET.EDU
; <<>> DiG 9.20.11-4-Debian <<>> ESHARKNET.EDU
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52366
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;ESHARKNET.EDU.         IN  A

;; ANSWER SECTION:
ESHARKNET.EDU.      900 IN  A   192.168.70.250

;; AUTHORITY SECTION:
esharknet.edu.      3600    IN  SOA dc01.esharknet.edu. hostmaster.esharknet.edu. 19 900 600 86400 3600

;; Query time: 4 msec
;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
;; WHEN: Tue Sep 23 16:40:41 -03 2025
;; MSG SIZE  rcvd: 120

Agora é só instalar as ferramentas do rsat em uma máquina Windows e gerenciar o Servidor!

THAT’S ALL FOLKS!!