Havia uma necessidade de inserir uma máquina Ubuntu em um domínio do Windows. Para esses fins, Samba e Winbind são geralmente usados. Mas uma alternativa é possível com o sssd, um breve guia para isso abaixo.
Por exemplo, usaremos:
Domínio = contoso.com
Controlador de domínio = dc.contoso.com
Inicie o terminal Ubuntu:
1. Alterne para root
sudo -i
2. Instale os pacotes necessários
apt install sssd heimdal-clients msktutil
3. Editamos o arquivo /etc/krb5.conf, as abas são usadas como recuos
[libdefaults] default_realm = CONTOSO.COM [realms] CONTOSO.COM = { kdc = DC admin_server = dc.contoso.com default_domain = contoso.com } [login] krb4_convert = true krb4_get_tickets = false [domain_realm] .contoso.com = CONTOSO.COM contoso.com = CONTOSO.COM
4. Edite o arquivo / etc / hosts, especifique o FQDN para este host:
127.0.0.1 localhost 127.0.1.1 <hostname>.contoso.com <hostname>
5. Tentamos obter um tíquete Kerberos em nome do administrador do domínio:
root@ubuntu:~
Verificamos:
root@ubuntu:~
Se o ticket for recebido com sucesso, agora os principais Kerberos podem ser gerados para este host, o registro é importante:
msktutil -c -b 'CN=YourComputersOU' -s HOST/HOSTNAME.contoso.com -k /etc/sssd/HOSTNAME.keytab --computer-name HOSTNAME --upn HOSTNAME$ --server dc.contoso.com —user-creds-only msktutil -c -b 'CN=YourComputersOU' -s HOST/HOSTNAME -k /etc/sssd/HOSTNAME.keytab --computer-name HOSTNAME --upn HOSTNAME$ --server dc.contoso.com --user-creds-only
Agora nosso host deve aparecer na lista de computadores no diretório Nesse caso, exclua o tíquete Kerberos recebido:
kdestroy
6. Crie o arquivo /etc/sssd/sssd.conf com o seguinte conteúdo:
[sssd] services = nss, pam config_file_version = 2 domains = contoso.com [nss] entry_negative_timeout = 0 debug_level = 3 [pam] debug_level = 3 [domain/contoso.com] debug_level = 3 ad_domain = contoso.com ad_server = dc.contoso.com enumerate = false id_provider = ad auth_provider = ad chpass_provider = ad access_provider = simple simple_allow_groups = users
A descrição dos parâmetros do arquivo de configuração sssd pode ser encontrada
aquiDefina permissões para o arquivo sssd.conf:
chmod 600 /etc/sssd/sssd.conf
Reinicie o serviço SSSD
service sssd restart
7. Editando configurações do PAM
Solução ruim:edite o arquivo /etc/pam.d/common-session, após a linha
session required pam_unix.so
adicionar linha
session required pam_mkhomedir.so skel=/etc/skel umask=0022
Boa solução:substituir os parâmetros pelas configurações do sistema PAM, chame
pam-auth-update
e
verifique os itens sss auth e
makehomdir . Isso adicionará automaticamente
a linha acima na sessão comum e não será substituída ao atualizar o sistema.
Agora podemos fazer login na máquina para usuários do domínio que têm permissão para fazer login.
PS: Você pode conceder o direito de usar grupos de domínio sudo. Usando o visudo, edite o arquivo / etc / sudoers, ou melhor, como
recomendam maxzhurkin e
iluvar , crie um novo arquivo em /etc/sudoers.d/ e edite-o
visudo -f /etc/sudoers.d/_
adicione o grupo necessário - por exemplo, Administradores de Domínio (se houver espaços no nome do grupo - eles devem ser escapados):
%Domain\ Admins ALL=(ALL) ALL
PSS: Obrigado,
obrigado pela informação sobre o reino. É muito conveniente - se configurações específicas não forem necessárias, a inserção de uma máquina em um domínio exige, de fato, três comandos:
1. Instale os pacotes necessários:
sudo apt install realmd samba-common-bin samba-libs sssd-tools krb5-user adcli
2. Verifique se nosso domínio está visível na rede:
realm discover contoso.com
3. Digite a máquina no domínio:
sudo realm --verbose join contoso.com -U YourDomainAdmin --install=/
4. Editando configurações do PAM
sudo pam-auth-update
Uma vantagem adicional dessa opção é a autorização de ponta a ponta nos recursos de arquivo do domínio.
Para não especificar um domínio além do logon, você pode adicionar um sufixo padrão. No arquivo /etc/sssd/sssd.conf, no bloco [sssd], adicione a linha:
default_domain_suffix = contoso.com