Compilando e Utilizando o Samba4

Neste artigo faremos o download do samba 4 para ser compilado e depois a sua configuração

[ Hits: 2.117 ]

Por: Doto em 07/01/2024


Compilando e Configurando Samba 4



ATENÇÃO:

Todo comando abaixo será acompanhado de uma #, para caso copie e cole em seu servidor não corra o risco da execução imediata.

Obs: Este Samba foi compilado em um Servidor com Sistema Operacional Oracle Linux 8 versão 8.6 e Kernel 4.18.0-372.9.1.el8.x86_64

Vamos iniciar a nossa configuração:

# vim /etc/profile

Logo após unset -f pathmunge, cole o conteúdo abaixo e salve o arquivo:

SAMBA_HOME=/samba4

PATH=$PATH:$SAMBA_HOME/bin

export PATH SAMBA_HOME

Agora execute:

# . /etc/profile

Neste momento vamos configurar o SELinux para permitir o restante da configuração:

# sed -i s/^SELINUX=.*$/SELINUX=permissive/ /etc/selinux/config && setenforce 0

Este comando valida se a configuração do Selinux esta como permissive

# getenforce

Vamos nomear o nosso Servidor através do hosts:

# vim /etc/hosts

{ipservidor} servidor.{nomedodominio}.domain servidor

Agora vamos alterar temporariamente o nome de seu servidor:

# hostname servidor

Adicionando as Regras no firewall do Linux:

# firewall-cmd --permanent --add-service=samba && firewall-cmd --permanent --add-service=samba-dc && firewall-cmd --reload

Desabilitar resolução de nomes do Linux no systemd:

# systemctl stop systemd-resolved.service

# systemctl disable systemd-resolved.service

Instalando as dependências:

# dnf config-manager --set-enabled ol8_codeready_builder

# dnf install -y @Development\ Tools cups-devel dbus-devel python3-markdown perl-JSON docbook-style-xsl gcc gdb gnutls-devel gpgme-devel jansson-devel keyutils-libs-devel krb5-workstation libacl-devel libaio-devel libarchive-devel libattr-devel libblkid-devel libtasn1 libtasn1-tools libxml2-devel libxslt lmdb-devel openldap-devel pam-devel perl perl-ExtUtils-MakeMaker perl-Parse-Yapp popt-devel python3-cryptography python3-dns python3-gpg python36-devel readline-devel rpcgen systemd-devel tar zlib-devel htop

Vamos fazer o download e extrair o código fonte:

# cd /tmp/
# wget https://download.samba.org/pub/samba/stable/samba-4.17.4.tar.gz
# tar -xvzf samba-4.17.4.tar.gz -C /tmp/samba-4.17.4/

Compilando o Samba:

# cd /tmp/samba-4.17.4/
# ./configure --prefix=/usr/local/samba4
# make && make install

Agora vamos provisionar o domínio:

# cd /usr/local/samba4/sbin/
# ./samba-tool domain provision --use-rfc2307 --server-role=dc --realm={nomedominio}.domain --domain={nome} --adminpass=senha001 --option="interfaces=lo {placaredelocal}" --option="bind interfaces only=yes" --option="dns forwarder={gateway}" --host-name=servidor --host-ip={ipservidor} --dns-backend=SAMBA_INTERNAL

Configurando o kerberos do Servidor:

# cp -vbf /usr/local/samba4/private/krb5.conf /etc/krb5.conf

Configurando o winbind do servidor:

# ln -s /usr/local/samba4/lib/libnss_winbind.so.2 /lib64/
# ln -s /lib64/libnss_winbind.so.2 /lib64/libnss_winbind.so
# ldconfig
# sed -i s/^passwd:\ .*$/passwd:\ files\ sss\ systemd\ winbind/ /etc/nsswitch.conf
# sed -i s/^group:\ .*$/group:\ files\ sss\ systemd\ winbind/ /etc/nsswitch.conf

Criando e habilitando o serviço systemd:

# cp /tmp/samba-4.17.4/bin/default/packaging/systemd/samba.service /etc/systemd/system/samba-ad-dc.service
# mkdir -p /usr/local/samba4/etc/sysconfig
# echo SAMBAOPTIONS=\"-D\" > /usr/local/samba4/etc/sysconfig/samba
# systemctl daemon-reload
# systemctl start samba-ad-dc.service

Habilitando o log de auditoria:

# echo local5.alert /var/log/samba/samba-full_audit.log > /etc/rsyslog.d/samba-full-audit.conf
# echo local5.alert /var/log/samba/samba-full_audit.log >> /etc/rsyslog.conf
# systemctl restart rsyslog.service

Habilitar o gerenciamento de permissões para utilização da ferramenta Rsat do Windows, utilizaremos um diretório chamado dados, que utilizaremos para teste posterior:

# mkdir /dados/
# net rpc rights grant '{nomedodominio}\Domain Admins' SeDiskOperatorPrivilege -U '{nomedodominio}\administrator'
# chgrp -v '{nomedodominio}\Domain Admins' /dados/

Vamos desabilitar cliente ntp systemd, pois o Samba utilizará o horário do servidor:

# systemctl stop systemd-timesyncd.service
# systemctl disabled systemd-timesyncd.service

Vamos editar as informações abaixo de acordo com o cenário do cliente em questão:

# vim /etc/chrony.conf

allow {redelocalservidor}/24
bindaddress {ipservidor}

Abaixo segue um modelo de smb.conf; na seção Global logo após idmap_ldb:use rfc2307, cole as informações abaixo:

security = user
invalid users = root
guest account = nobody
smb passwd file = /usr/local/samba4/bin/smbpasswd
unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
template shell = /bin/false
vfs objects = dfs_samba4 recycle full_audit acl_xattr
log file = /var/log/samba/%U.log
max log size = 50
log level = 2
full_audit:facility = local5
full_audit:priority = notice
full_audit:prefix = %u|%I|%S
full_audit:success = renameat rewinddir unlinkat
full_audit:failure = none
idmap config * : range = 16777216-33554431
idmap config * : backend = tdb
idmap config {nomedominio}:schema_mode = rfc2307
idmap config {nomedominio}:unix_nss_info = yes
map acl inherit = yes
store dos attributes = yes
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
ldap server require strong auth = no
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
winbind offline logon = yes
winbind nss info = rfc2307

Abaixo do netlogon cole as instruções abaixo:

[dados]

path = /dados/
browseable = yes
write list = @cliente
valid users = @cliente

Para testarmos as nossas configurações segue abaixo alguns comandos:

# /usr/local/samba4/bin/wbinfo --ping-dc
# /usr/local/samba4/bin/wbinfo -u
# host -t SRV _ldap._tcp.{nomedominio}.domain
# host -t SRV _kerberos._udp.{nomedominio}.domain
# host -t A servidor.{nomedominio}.domain
# getent passwd
# getent group
# cd /usr/local/samba4/bin
# ./smbclient -L localhost -U administrator



    Próxima página

Páginas do artigo
   1. Compilando e Configurando Samba 4
   2. Comandos para administração do Samba 4 via terminal Linux
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Implementando um servidor de domínio

Compartilhamento do Samba autenticando no AD

Autenticando cliente Linux Ubuntu 8.10 no PDC Samba com perfil móvel

Servidor Samba como PDC

Controle de impressão por usuário

  
Comentários
[1] Comentário enviado por maurixnovatrento em 14/01/2024 - 13:59h


Ótimo trabalho. Muito bom.

___________________________________________________________
https://www.youtube.com/@LinuxDicasPro
https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts