Atualizando o Samba 4 (Active Directory) para versão recente
Atualizando o Samba 4 (Active Directory) para versão recente
Mãos à obra!
Obter uma versão atual do Samba: eu vou pegar a versão estável em 19/12/2013, a 4.1.3.
Vou levar em consideração, que foi utilizado a versão compilada do Samba, não um binário de um repositório.
Eu vou fazer uma atualização da versão 4.0.9 para a 4.1.3:
# cd /usr/src && wget -c http://ftp.samba.org/pub/samba/stable/samba-4.1.5.tar.gz
Vamos desempacotar o Samba:
# tar -xzvf samba-4.1.3.tar.gz
Acesse os fontes do Samba:
# cd /usr/src/samba-4.1.3
Mande checar os pré-requisitos:
# ./configure --enable-debug --enable-selftest
Vamos compilar ele:
# make
Pare o Samba:
Obs.: se estiver utilizando com o bind_dlz ou bind_flat e ntp, precisamos pará-los também.
Se for Debian:
# /etc/init.d/samba stop
# /etc/init.d/bind9 stop
# /etc/init.d/ntp stop
Se for padrão Red Hat/CentOS:
# /etc/init.d/samba stop
# /etc/init.d/named stop
# /etc/init.d/ntpd stop
Fazer um backup da base do Samba:
Vou levar em consideração que o provisionamento do seu Samba, está em /usr/local/samba:
# tar -cJvf /srv/samba.tar.xz /usr/local/samba
Instalar o Samba 4.1.3:
# cd /usr/src/samba-4.1.3 && make install
Fazer algumas checagens e correções da base de dados do Samba:
# samba-tool dbcheck --cross-ncs --fix --yes
# samba-tool dbcheck --reindex
# samba-tool dbcheck --reset-well-known-acls --fix --yes
# samba-tool dbcheck --force-modules
Ajustar as ACLs do sysvol:
# samba-tool ntacl sysvolreset
Ajustar as permissões dos diretório, caso esteja utilizando bind_dlz ou bind_flat:
Para Debian, devemos fazer da seguinte forma:
# chown -R root:bind /usr/local/samba/private
# chmod -R 750 /usr/local/samba/private
# chmod 640 /usr/local/samba/private/named.conf
# chmod 640 /usr/local/samba/private/dns.keytab
# chmod 770 -R /usr/local/samba/private/dns
# chmod -R 700 /usr/local/samba/private/smbd.tmp
# chmod -R 0600 /usr/local/samba/private/tls/
Para Red Hat/CentOS, devemos fazer da seguinte forma:
# chown -R root:named /usr/local/samba/private
# chmod -R 750 /usr/local/samba/private
# chmod 640 /usr/local/samba/private/named.conf
# chmod 640 /usr/local/samba/private/dns.keytab
# chmod 770 -R /usr/local/samba/private/dns
# chmod -R 700 /usr/local/samba/private/smbd.tmp
# chmod -R 0600 /usr/local/samba/private/tls/
Subir os serviços novamente:
Se for Debian:
# /etc/init.d/samba start
# /etc/init.d/bind9 start
# /etc/init.d/ntp start
Se for Red Hat/CentOS:
# /etc/init.d/samba start
# /etc/init.d/named start
# /etc/init.d/ntpd start
Atualizar os registros de DNS, caso esteja utilizando o bind_dlz ou bind_flat:
# samba_dnsupdate --verbose --all-names
Verificar se o Samba está funcionando:
# ps aux | egrep samba
Deve retornar:
root 5352 0.0 2.1 512128 44496 ? Ss 09:02 0:00 /usr/local/samba/sbin/samba -D
root 5370 0.0 1.5 512128 32268 ? S 09:02 0:00 /usr/local/samba/sbin/samba -D
root 5371 0.0 1.8 516720 38468 ? S 09:02 0:00 /usr/local/samba/sbin/samba -D
root 5372 0.0 1.6 516280 34716 ? S 09:02 0:00 /usr/local/samba/sbin/samba -D
root 5373 0.0 2.2 473624 46256 ? Ss 09:02 0:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root 5374 0.0 1.5 512128 32128 ? S 09:02 0:00 /usr/local/samba/sbin/samba -D
root 5375 0.0 1.8 512548 37140 ? S 09:02 0:00 /usr/local/samba/sbin/samba -D
root 5376 0.0 1.6 512128 34048 ? S 09:02 0:00 /usr/local/samba/sbin/samba -D
root 5377 0.0 1.7 516280 36792 ? S 09:02 0:00 /usr/local/samba/sbin/samba -D
root 5378 0.0 1.6 512128 33784 ? S 09:02 0:00 /usr/local/samba/sbin/samba -D
root 5379 0.0 1.6 514956 33616 ? S 09:02 0:00 /usr/local/samba/sbin/samba -D
root 5380 0.0 1.6 512128 33424 ? S 09:02 0:00 /usr/local/samba/sbin/samba -D
root 5381 0.0 1.9 512128 40688 ? S 09:02 0:00 /usr/local/samba/sbin/samba -D
root 5382 0.0 1.6 512128 33328 ? S 09:02 0:00 /usr/local/samba/sbin/samba -D
root 5385 0.0 1.5 473632 32676 ? S 09:02 0:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root 5586 54.0 2.6 480996 54956 ? S 09:22 0:00 python /usr/local/samba/sbin/samba_dnsupdate
root 5589 0.0 0.0 8084 896 pts/0 S+ 09:22 0:00 egrep --color=auto samba
Como podemos notar, o serviço está funcionando.
Verificar a versão do nosso Samba:
# smbclient --version
Version 4.1.3
Verificar se os compartilhamentos estão funcionando:
# smbclient -L localhost -U%
Domain=[LAB] OS=[Unix] Server=[Samba 4.1.3]
Sharename Type Comment
--------- ---- -------
netlogon Disk
sysvol Disk
profiles Disk
IPC$ IPC IPC Service (Samba 4.1.3)
Domain=[LAB] OS=[Unix] Server=[Samba 4.1.3]
Server Comment
--------- -------
Workgroup Master
--------- -------
Consultar se a relação de confiança está acontecendo tudo OK:
# wbinfo -t
checking the trust secret for domain LAB via RPC calls succeeded
Consultar os usuários:
# wbinfo -u
Administrator
Guest
krbtgt
dns-samba
douglas.santos
Listar os grupos:
# wbinfo -g
Enterprise Read-Only Domain Controllers
Domain Admins
Domain Users
Domain Guests
Domain Computers
Domain Controllers
Schema Admins
Enterprise Admins
Group Policy Creator Owners
Read-Only Domain Controllers
DnsUpdateProxy
ti-admin
Prontinho. Samba atualizado!