Esse artigo está dividido em:
- Samba 27: Configurando Samba Como um Membro do Domínio – Parte 01
- Samba 27: Configurando Samba Como um Membro do Domínio – Parte 02
- Samba 27: Configurando Samba Como um Membro do Domínio – Parte 03
- Samba 27: Configurando Samba Como um Membro do Domínio – Parte 04
- Samba 27: Configurando Samba Como um Membro do Domínio – Parte 05
PRATICANDO:
Adicionando ubuntu20 como Membro Usando o Back end ‘ad’
Aqui iremos praticar tudo o que vimos nas partes anteriores desse artigo de número 27.
Iremos adicionar a distro ubuntu server, chamada aqui de ubuntu20, como membro do domínio lab.local.
O server01 tem ip 192.168.0.40 e o server02 possui o 192.168.0.41. Esses dois são controladores do domínio.
Os Passos Abaixo São Realizados no Ubuntu20:
Acesse o ubuntu20.
#1 Altere o arquivo /etc/resolv.conf. No caso do ubuntu o resolv.conf é gerenciado pelo systemd. Então iremos alterar o arquivo /etc/systemd/resolved.conf ao invés de /etc/resolv.conf.
elder@ubuntu20:~$ sudo vim /etc/systemd/resolved.conf # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # # Entries in this file show the compile time defaults. # You can change settings by editing this file. # Defaults can be restored by simply deleting this file. # # See resolved.conf(5) for details [Resolve] DNS=192.168.0.40 192.168.0.41 #FallbackDNS= Domains=lab.local #LLMNR=no #MulticastDNS=no #DNSSEC=no #DNSOverTLS=no #Cache=no-negative #DNSStubListener=yes #ReadEtcHosts=yes
Aplique as alterações executando
elder@ubuntu20:~$ sudo systemctl restart systemd-resolved.service
#2 Deixe o arquivo /etc/hosts da seguinte forma:
elder@ubuntu20:~$ sudo vim /etc/hosts 127.0.0.1 localhost 192.168.0.43 ubuntu20.lab.local ubuntu20 192.168.0.40 server01.lab.local server01 192.168.0.41 server02.lab.local server02
#3 Verifique horário e data. Não podem estar desatualizados. O ubuntu20 tem que estar com horário e data sincronizados com os do server01
elder@ubuntu20:~$ date Tue Dec 28 20:35:26 UTC 2021
#4 Instale o samba, kerberos e as bibliotecas libnss-winbind e libpam-winbind
elder@ubuntu20:~$ sudo apt install samba krb5-user libnss-winbind libpam-winbind -y
Se aparecer telas do kerberos solicitando que digite o domínio/realm pode digitar LAB.LOCAL e para servidor digite server01. Mas não se preocupe aqui pois o arquivo gerado por essas respostas será descartado e criaremos outro. Então esses campos preenchidos não valerão de nada no final.
Configurando o kerberos
Por precaução, tire uma cópia do arquivo de configuração do kerberos
elder@ubuntu20:~$ sudo cp /etc/krb5.conf /etc/krb5.conf.bkp
Abra o arquivo /etc/krb5.conf, apague todo o conteúdo e deixe conforme abaixo:
elder@ubuntu20:~$ sudo vim /etc/krb5.conf [libdefaults] default_realm = LAB.LOCAL dns_lookup_realm = false dns_lookup_kdc = true
Salve e execute os seguintes comandos para testarmos
elder@ubuntu20:~$ kinit administrator Password for administrator@LAB.LOCAL: Warning: Your password will expire in 14 days on Tue Jan 11 22:02:35 2022
e
elder@ubuntu20:~$ klist Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: administrator@LAB.LOCAL Valid starting Expires Service principal 12/28/21 21:01:51 12/29/21 07:01:51 krbtgt/LAB.LOCAL@LAB.LOCAL renew until 12/29/21 21:01:35
Configurando nsswitch
Deixe o arquivo /etc/nsswitch.conf conforme abaixo
elder@ubuntu20:~$ sudo cat /etc/nsswitch.conf # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # info libc "Name Service Switch"' for information about this file. passwd: files winbind group: files winbind shadow: files gshadow: files hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
Configurando samba
Tire uma cópia do arquivo smb.conf
elder@ubuntu20:~$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bkp
Abra o arquivo /etc/samba/smb.conf, apague todo o conteúdo e digite conforme abaixo:
elder@ubuntu20:~$ sudo vim /etc/samba/smb.conf security = ADS workgroup = LAB realm = LAB.LOCAL idmap config * : backend = tdb idmap config * : range = 3000-7999 idmap config LAB:backend = ad idmap config LAB:schema_mode = rfc2307 idmap config LAB:range = 10000-999999 idmap config LAB:unix_nss_info = yes vfs objects = acl_xattr map acl inherit = yes store dos attributes = yes
Salve e saia da edição.
Agora adicione ubuntu20 ao domínio como membro
elder@ubuntu20:~$ sudo net ads join -U administrator Enter administrator's password: Using short domain name -- LAB Joined 'UBUNTU20' to dns domain 'lab.local'
Inicie os programas smbd, nmbd e winbind
elder@ubuntu20:~$ sudo systemctl start smbd nmbd winbind
Os Passos Abaixo São Realizados no server01:
Acrescentando uidNumber e gidNumber aos Usuários do Domínio
#1 acesse o terminal no server01
#2 Vamos listar os usuários, grupos e computadores do domínio
elder@server01:~$ sudo /usr/local/samba/bin/samba-tool user list Guest Administrator joao paulo krbtgt elder lucas
elder@server01:~$ sudo /usr/local/samba/bin/samba-tool group list Event Log Readers Domain Controllers DnsUpdateProxy Certificate Service DCOM Access Pre-Windows 2000 Compatible Access Domain Admins ...... Domain Users ....
elder@server01:~$ sudo /usr/local/samba/bin/samba-tool computer list SERVER02$ UBUNTU20$ WIN7PRO$ SERVER01$
Acima já conseguimos ver o ubuntu20 listado.
#3 Somente os usuários contendo uidNumber e gidNumber na mesma faixa, no mesmo intervalo que definimos em nosso smb.conf do ubuntu20 mebro irão aparecer no ubuntu20.
Vamos editar o usuário joao e colocar 10003 como gid e uid.
elder@server01:~$ sudo /usr/local/samba/bin/samba-tool user edit joao dn: CN=joao,CN=Users,DC=lab,DC=local objectClass: top objectClass: person objectClass: organizationalPerson objectClass: user cn: joao instanceType: 4 whenCreated: 20211129134405.0Z uSNCreated: 8469 name: joao objectGUID: fa653430-c389-43f9-8730-598d3efdcf7b userAccountControl: 512 codePage: 0 countryCode: 0 pwdLastSet: 132826670458355600 primaryGroupID: 513 objectSid: S-1-5-21-3600158205-1358415253-1697110825-1605 accountExpires: 9223372036854775807 sAMAccountName: joao sAMAccountType: 805306368 userPrincipalName: joao@lab.local objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=lab,DC=local lastLogonTimestamp: 132826670534470080 lastLogon: 132829380566354630 logonCount: 25 gidNumber: 10003 uidNumber: 10003 whenChanged: 20211223202720.0Z uSNChanged: 8632 distinguishedName: CN=joao,CN=Users,DC=lab,DC=local
Já havia colocado para o usuário paulo. Executo “samba-tool user show paulo” para mostrar(show) os atributos do usuário Paulo.
elder@server01:~$ sudo /usr/local/samba/bin/samba-tool user show paulo dn: CN=paulo,CN=Users,DC=lab,DC=local ...... name: paulo .... objectSid: S-1-5-21-3600158205-1358415253-1697110825-1119 accountExpires: 9223372036854775807 logonCount: 0 sAMAccountName: paulo sAMAccountType: 805306368 userPrincipalName: paulo@lab.local objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=lab,DC=local uidNumber: 10002 gidNumber: 10002 ....
Adicione um gid para o grupo domain users
Execute samba-tool group edit “domain users”. Vamos adicionar o gidNumber 10999
elder@server01:~$ sudo /usr/local/samba/bin/samba-tool group edit "domain users" dn: CN=Domain Users,CN=Users,DC=lab,DC=local objectClass: top objectClass: group cn: Domain Users description: All domain users instanceType: 4 whenCreated: 20210720140831.0Z uSNCreated: 3849 name: Domain Users objectGUID: baa9a589-fc1a-4906-9070-6f33d08b2158 objectSid: S-1-5-21-3600158205-1358415253-1697110825-513 sAMAccountName: Domain Users sAMAccountType: 268435456 groupType: -2147483646 objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=lab,DC=local isCriticalSystemObject: TRUE memberOf: CN=Users,CN=Builtin,DC=lab,DC=local gidNumber: 10999 whenChanged: 20211227195517.0Z uSNChanged: 8645 distinguishedName: CN=Domain Users,CN=Users,DC=lab,DC=local
Acesse o ubuntu20 e Faça os Testes Abaixo
Volte para o ubuntu20 e adicione as duas linhas abaixo ao arquivo smb.conf
winbind enum groups = Yes
winbind enum users = Yes
Essas linhas são apenas para testes. Devem ser retiras pois podem causar lentidão. Com essas duas linhas abaixo adicionadas podemos usar “getent passwd” para exibir o conteúdo de /etc/passwd
elder@ubuntu20:~$ sudo vim /etc/samba/smb.conf [global] security = ADS workgroup = LAB realm = LAB.LOCAL idmap config * : backend = tdb idmap config * : range = 3000-7999 idmap config LAB:backend = ad idmap config LAB:schema_mode = rfc2307 idmap config LAB:range = 10000-999999 idmap config LAB:unix_nss_info = yes vfs objects = acl_xattr map acl inherit = yes store dos attributes = yes winbind enum users = yes winbind enum groups = yes
Execute “smbcontrol all reload-config” para aplicar as alterações no samba
smbcontrol all reload-config
Execute “getent passwd” e veja nossos usuários aparecerem junto com os usuários locais
elder@ubuntu20:~$ getent passwd ...... sshd:x:111:65534::/run/sshd:/usr/sbin/nologin systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin elder:x:1000:1000:elder:/home/elder:/bin/bash lxd:x:998:100::/var/snap/lxd/common/lxd:/bin/false LAB\joao:*:10003:10999::/home/LAB/joao:/bin/false LAB\paulo:*:10002:10999::/home/LAB/paulo:/bin/false
Testes
Crie uma pasta qualquer no ubuntu20 para compartilharmos
elder@ubuntu20:~$ mkdir /home/elder/docs
Abra o smb.conf e adicione as linhas abaixo em laranja
elder@ubuntu20:~$ sudo cat /etc/samba/smb.conf [global] security = ADS workgroup = LAB realm = LAB.LOCAL idmap config * : backend = tdb idmap config * : range = 3000-7999 idmap config LAB:backend = ad idmap config LAB:schema_mode = rfc2307 idmap config LAB:range = 10000-999999 idmap config LAB:unix_nss_info = yes vfs objects = acl_xattr map acl inherit = yes store dos attributes = yes winbind enum users = yes winbind enum groups = yes [Documentos] path = /home/elder/docs read only = no
Editado, salvo e já fora o arquivo smb.conf, agora o grupo “domain users” proprietário da pasta docs
elder@ubuntu20:~$ sudo chown elder:"LAB\domain users" ./docs
Veja o resultado
elder@ubuntu20:~$ ls -ld docs drwxrwxr-x 2 elder LAB\domain users 4096 Dec 29 11:57 docs
3 Comments to “Samba 27: Configurando Samba Como um Membro do Domínio – Parte 04”