Atualizando o samba 4 para uma versão mais atual do samba 4

E ai galera, aqui eu vou abordar a atualização do samba 4 para uma versão mais atual do samba 4.

Vamos obter uma versão mais atual do samba eu vou pegar a versão estável em 19/12/2013 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.3.tar.gz

Agora vamos desempacotar o samba

tar -xzvf samba-4.1.3.tar.gz

Agora vamos acessar os fontes do samba

cd /usr/src/samba-4.1.3

Agora vamos mandar checar os pré-requisitos

./configure --enable-debug --enable-selftest

Agora vamos mandar compilar ele

make

Agora vamos mandar parar o samba e o ntp, se estiver utilizando com o bind_dlz ou bind_flat precisamos parar o bind também.

Se for padrão Debian

/etc/init.d/samba stop
/etc/init.d/bind9 stop
/etc/init.d/ntp stop

Se for padrão Red Hat

/etc/init.d/samba stop
/etc/init.d/named stop
/etc/init.d/ntpd stop

Agora vamos 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

Agora vamos mandar instalar o samba 4.1.3

cd /usr/src/samba-4.1.3 && make install

Agora vamos mandar 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

Agora vamos mandar ajustar as acls do sysvol

samba-tool ntacl sysvolreset

Agora vamos ajustar as permissões dos diretório caso esteja utilizando bind_dlz ou bind_flat

Para o padrão 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 o padrão Red Hat 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/

Agora vamos subir os serviços novamente

Se for padrão Debian

/etc/init.d/samba start
/etc/init.d/bind9 start
/etc/init.d/ntp start

Se for padrão Red Hat

/etc/init.d/samba start
/etc/init.d/named start
/etc/init.d/ntpd start

Agora vamos mandar atualizar os registros de dns caso esteja utilizando o bind_dlz ou bind_flat

samba_dnsupdate --verbose --all-names

Agora vamos verificar se o samba está funcionando

ps aux | egrep samba
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.

Vamos verificar a versão do nosso samba

smbclient --version
Version 4.1.3

Agora vamos verificar se os compartilhamentos estão funcionando

smbclient -L localhost -U%
Domain=[DOUGLASQSANTOS] 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=[DOUGLASQSANTOS] OS=[Unix] Server=[Samba 4.1.3]

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------

Vamos 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

Agora vamos consultar os usuários

wbinfo -u
Administrator
Guest
krbtgt
dns-samba
douglas.santos

Agora vamos 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

Referências