Ir para o conteúdo
Menu principal
Menu principal
mover para a barra lateral
Esconder
Navegação
Página principal
Mudanças recentes
Página aleatória
Ajuda do MediaWiki
RJGSWiki
Pesquisa
Pesquisar
Aparência
Crie uma conta
Entrar
Ferramentas pessoais
Crie uma conta
Entrar
Páginas para editores conectados
saiba mais
Contribuições
Discussão
Editando
Samba4
(seção)
Página
Discussão
português do Brasil
Ler
Editar
Ver histórico
Ferramentas
Ferramentas
mover para a barra lateral
Esconder
Ações
Ler
Editar
Ver histórico
Geral
Páginas afluentes
Mudanças relacionadas
Páginas especiais
Informações da página
Aparência
mover para a barra lateral
Esconder
Aviso:
Você não está conectado. Seu endereço IP será visível publicamente se você fizer alguma edição. Se você
fizer login
ou
criar uma conta
, suas edições serão atribuídas ao seu nome de usuário, juntamente com outros benefícios.
Verificação contra spam.
Não
preencha isto!
= SAMBA AD (Compilado) = == Preparação == === Definir hostname correto (FQDN) === O hostname precisa ser um nome completo (FQDN). hostnamectl set-hostname ad20.fourtrust.local E valide: hostname -f === Ajustar /etc/hosts === vim /etc/hosts Deixe assim (ajuste IP e domínio): <pre> 127.0.0.1 localhost 192.168.0.10 ad20.fourtrust.local ad20 </pre> === IP fixo (OBRIGATÓRIO) === AD não funciona com DHCP. Configure no Netplan: <pre> vim /etc/netplan/*.yaml <pre> Exemplo: network: version: 2 ethernets: eth0: dhcp4: no addresses: - 192.168.0.100/24 gateway4: 192.168.0.1 nameservers: addresses: - 127.0.0.1 - 8.8.8.8 </pre> Depois: netplan try netplan apply === Resolver DNS local === Antes de provisionar, o sistema já deve usar ele mesmo como DNS: Verifique o link simbólico atual ls -l /etc/resolv.conf Desabilite o systemd-resolved sudo systemctl disable --now systemd-resolved Edite: vim /etc/resolv.conf Deixe: nameserver 127.0.0.1 search fourtrust.local === Sincronização de horário (CRÍTICO pro Kerberos) === Kerberos quebra se o horário estiver errado. Setar "Time Zone" para America - São Paulo. timedatectl set-timezone America/Sao_Paulo Validando: timedatectl <pre> Local time: Wed 2026-05-06 10:58:01 -03 Universal time: Wed 2026-05-06 13:58:01 UTC RTC time: Wed 2026-05-06 13:58:02 Time zone: America/Sao_Paulo (-03, -0300) System clock synchronized: yes NTP service: active RTC in local TZ: no </pre> === Remover conflitos (IMPORTANTÍSSIMO) === Pare qualquer serviço que conflita com o Samba AD: systemctl stop smbd nmbd winbind systemctl disable smbd nmbd winbind Se instalou pacotes via apt antes, considere remover: apt remove samba samba-common-bin -y === Limpar configurações antigas === Se já tentou antes: rm -rf /usr/local/samba/etc/smb.conf rm -rf /usr/local/samba/private/* rm -rf /usr/local/samba/var/* === Teste básico antes do provision === Teste resolução: hostname -f ping ad20.fourtrust.local == Instalação == === Baixa os arquivos === wget https://download.samba.org/pub/samba/samba-latest.tar.gz === Descompacta === tar -xvf sambaxxxx.tar.gz === Instala dependencias === Navegue até a pasta onde está o script que instala as dependências: sambaxxx/bootstrap/generated-dists/ubuntuxx/bootstrap.sh roda o script como sudo sudo ./bootstrap.sh === Compila === Dentro da pasta do samba: ./configure make make install == Provision == Tem que resolver para o IP local. samba-tool domain provision --use-rfc2307 --interactive Pós provisionamento ln -sf /var/lib/samba/private/krb5.conf /etc/krb5.conf === Pós provisionamento === ==== Mudar o PATH ==== Edite: sudo vim /etc/profile Adicione no FINAL do arquivo e salve-o: export PATH=$PATH:/usr/local/samba/bin:/usr/local/samba/sbin Depois recarregue: source /etc/profile Validando: which samba which samba-tool which smbclient Deve retornar algo como: /usr/local/samba/sbin/samba /usr/local/samba/bin/samba-tool ==== Staus do Samba ==== systemctl status samba-ad-dc systemctl start samba-ad-dc systemctl enable samba-ad-dc ==== Testar o domínio ==== /usr/local/samba/bin/samba-tool domain level show Esperado: Domain and forest function level for domain 'DC=rjgsnet,DC=local' Forest function level: (Windows) 2008 R2 Domain function level: (Windows) 2008 R2 Lowest function level of a DC: (Windows) 2008 R2 ==== Testar autenticação local ==== /usr/local/samba/bin/smbclient -L localhost -U Administrator Vai pedir senha do <code>Administrator</code> Esperado: <pre> Password for [RJGSNET\Administrator]: Sharename Type Comment --------- ---- ------- sysvol Disk netlogon Disk IPC$ IPC IPC Service (Samba 4.24.1) SMB1 disabled -- no workgroup available </pre> ==== Testar DNS ==== host -t A rjgsnet.local Esperando: rjgsnet.local has address 192.168.0.100 ou: /usr/local/samba/bin/samba-tool dns query localhost rjgsnet.local @ ALL Esperando: <pre> Password for [administrator@RJGSNET.LOCAL]: Name=, Records=4, Children=0 SOA: serial=1, refresh=900, retry=600, expire=86400, minttl=3600, ns=rjgs.rjgsnet.local., email=hostmaster.rjgsnet.local. (flags=600000f0, serial=1, ttl=3600) NS: rjgs.rjgsnet.local. (flags=600000f0, serial=1, ttl=900) A: 192.168.0.100 (flags=600000f0, serial=1, ttl=900) AAAA: 2804:014c:7983:9179:9a4b:e1ff:fe12:7d6f (flags=600000f0, serial=1, ttl=900) Name=_msdcs, Records=0, Children=0 Name=_sites, Records=0, Children=1 Name=_tcp, Records=0, Children=4 Name=_udp, Records=0, Children=2 Name=DomainDnsZones, Records=0, Children=2 Name=ForestDnsZones, Records=0, Children=2 Name=rjgs, Records=2, Children=0 A: 192.168.0.100 (flags=f0, serial=1, ttl=900) AAAA: 2804:014c:7983:9179:9a4b:e1ff:fe12:7d6f (flags=f0, serial=1, ttl=900) </pre> ==== Testar Kerberos ==== kinit Administrator Esperado: Password for Administrator@RJGSNET.LOCAL: Warning: Your password will expire in 41 days on Sun 21 Jun 2026 12:41:52 AM -03 Depois: klist Esperado: <pre> Ticket cache: FILE:/tmp/krb5cc_0 Default principal: Administrator@RJGSNET.LOCAL Valid starting Expires Service principal 05/10/2026 01:14:47 05/10/2026 11:14:47 krbtgt/RJGSNET.LOCAL@RJGSNET.LOCAL renew until 05/11/2026 01:14:40 </pre> ==== Testar usuários ==== /usr/local/samba/bin/samba-tool user list Esperado: Deve listar os usuários iniciais Administrator Guest krbtgt == Iniciar com o boot == Criar o arquivo do serviço vim /etc/systemd/system/samba-ad-dc.service Cole o conteúdo e salve: <pre> [Unit] Description=Samba Active Directory Domain Controller After=network.target network-online.target Wants=network-online.target [Service] Type=forking PIDFile=/usr/local/samba/var/run/samba.pid ExecStart=/usr/local/samba/sbin/samba --daemon ExecReload=/bin/kill -HUP $MAINPID ExecStop=/bin/kill -TERM $MAINPID LimitNOFILE=16384 Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target </pre> Recarregue o systemd systemctl daemon-reload Habilite no boot systemctl enable samba-ad-dc == Desabilitar a complexidade da senha == samba-tool domain passwordsettings set --complexity=off Esperado: Password complexity deactivated! All changes applied successfully! Diminuir a complexidade para 4 caracteres samba-tool domain passwordsettings set --min-pwd-length=4 == Fonte == * https://wiki.samba.org/index.php/Installing_Samba == Colocar no Domínio == === Linux Desktop === Para inserir seu Ubuntu Desktop (ou qualquer outro com base no Ubuntu) no domínio DOMINIO.LOCAL, execute o passo a passo pelo terminal. Requisitos: * Nome DNS resolvido corretamente (/etc/resolv.conf) * Usuário do domínio com permissão para adicionar máquinas (ex: Administrador) * Hora sincronizada com o AD * Hostname da máquina configurado corretamente <pre> 🔧 1. Configure hostname e resolv.conf A. Defina o hostname: sudo hostnamectl set-hostname xubuntu.dominio.local B. Edite o /etc/hosts: sudo nano /etc/hosts Adicione (ou edite) a linha correspondente: 192.168.0.123 xubuntu.dominio.local xubuntu C. Configure o DNS para apontar para o Samba AD: sudo nano /etc/systemd/resolved.conf Altere (ou descomente e edite) as linhas: DNS=192.168.0.10 Domains=dominio.local Salve, e reinicie o serviço de DNS: sudo systemctl restart systemd-resolved 🕓 2. Configure o timezone e sincronize o relógio (importante!) sudo timedatectl set-timezone America/Sao_Paulo sudo apt install chrony -y Edite /etc/chrony/chrony.conf e adicione no início: server 192.168.0.10 iburst Depois: sudo systemctl restart chrony chronyc tracking 📦 3. Instalar os pacotes necessários sudo apt update sudo apt install realmd sssd sssd-tools adcli samba-common-bin packagekit libnss-sss libpam-sss krb5-user -y Durante a instalação do krb5-user, insira: Realm: DOMINIO.LOCAL Servidor KDC: dominio.local Servidor Admin: dominio.local 🔐 4. Testar autenticação no domínio (Kerberos) kinit administrador@DOMINIO.LOCAL Você será solicitado a inserir a senha. Se tudo estiver certo, você pode verificar com: klist 🏁 5. Ingressar a máquina no domínio sudo realm join --user=administrador DOMINIO.LOCAL Se houver erro de DNS ou tempo, volte aos passos anteriores. 🔍 6. Verifique se foi ingressado corretamente realm list Você deve ver algo como: realm-name: DOMINIO.LOCAL configured: kerberos-member 👥 7. Permitir usuários do domínio Para permitir todos os usuários: sudo realm permit --all Ou apenas um grupo: sudo realm permit --groups "DOMINIO\Domain Users" 👤 8. Login de usuários do domínio (no LightDM ou terminal) Você pode logar com: usuario@dominio.local Para que usuários do domínio tenham diretórios home: sudo pam-auth-update E marque: "Create home directory on login" 🧪 9. Testar no terminal Tente rodar: id usuario@dominio.local Você deve ver as informações do usuário, com grupos do domínio. 💡 DICA: Evite digitar o domínio no login Edite /etc/sssd/sssd.conf (se não existir, crie com cuidado): [sssd] domains = dominio.local config_file_version = 2 services = nss, pam [domain/dominio.local] id_provider = ad override_homedir = /home/%u default_shell = /bin/bash Depois: sudo chmod 600 /etc/sssd/sssd.conf sudo systemctl restart sssd </pre>
Resumo da edição:
Por favor, note que todas as suas contribuições em RJGSWiki podem ser editadas, alteradas ou removidas por outros contribuidores. Se você não deseja que o seu texto seja inexoravelmente editado, não o envie.
Você está, ao mesmo tempo, a garantir-nos que isto é algo escrito por si, ou algo copiado de alguma fonte de textos em domínio público ou similarmente de teor livre (veja
RJGSWiki:Direitos de autor
para detalhes).
NÃO ENVIE TRABALHO PROTEGIDO POR DIREITOS DE AUTOR SEM A DEVIDA PERMISSÃO!
Cancelar
Ajuda de edição
(abre numa nova janela)