Compilando e Utilizando o Samba4

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

[ Hits: 2.417 ]

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

Samba 4 - Configurado para reportar a diferentes redes

Inicialização do Linux

Minimizando o delay de logon do Samba

SAMBA 4 - Servidor de Arquivos Utilizando ACLs Windows (Domínio)

Samba 4 - Compartilhamento de Arquivos

  
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