# Samba
Para CentOS nós temos duas opções:
* Instalar o pacote nativo do repositório que irá configurar apenas o compartilhamento de arquivos, ele não pode ser usado como AD.
* Compilar o pacote a partir do source code e ter a função de AD.
1. Edite as configurações do Selinux.
```
vi /etc/selinux/config
```
comente a linha de configuração já existente (ou apague-a) e escreva:
```
SELINUX=disabled
```
2. Vamos também desabilitar o firewall para prosseguir
```
systemctl disable firewalld
```
3. Habilitar o repositório epel:
```
sudo yum install epel-release -y
```
4. Instalação de pacotes importantes:
```
yum install bind-utils cups-devel cyrus-sasl-devel gcc gdb git gnutls-devel keyutils-libs-devel krb5-workstation libacl-devel libacl-devel libacl-devel libattr-devel libblkid-devel libidn-devel libpcap-devel libsemanage-python libsepol-devel libxml2-devel make openldap-devel pam-devel pkgconfig policycoreutils-python popt-devel python-devel readline-devel setools-libs setools-libs-python setroubleshoot-plugins setroubleshoot-server sqlite-devel wget zlib-devel
```
```
yum install attr bind-utils docbook-style-xsl gcc gdb krb5-workstation \libsemanage-python libxslt perl perl-ExtUtils-MakeMaker \perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python \python2-crypto gnutls-devel libattr-devel keyutils-libs-devel \libacl-devel libaio-devel libblkid-devel libxml2-devel openldap-devel \pam-devel popt-devel python-devel readline-devel zlib-devel systemd-devel \lmdb-devel jansson-devel gpgme-devel pygpgme libarchive-devel python3-devel \setroubleshoot-server setroubleshoot-server setroubleshoot-plugins cups-devel ntp autoconf openldap wget -y
```
5. vamos também proceder com a instalação do ntp e do ntpdate:
```
yum install ntp ntpdate
```
configure o ntp editando o arquivo “ntp.conf”:
```
vi /etc/ntp.conf
```
Campos Hora Local e Integração Samba, conforme exibido abaixo:
```
#HORA LOCAL
server 127.127.1.0
fudge 127.127.1.0 stratum 10
#INTEGRACAO SAMBA
ntpsigndsocket /var/lib/samba/ntp_signd/
restrict default mssntp
```
```
systemctl enable ntpd
```
6. Fazer download do SAMBA:
Entre no diretório /root e faça o download
```
wget -v https://download.samba.org/pub/samba/stable/samba-4.10.16.tar.gz
```
vamos descompactar o arquivo e entrar no diretório do samba
```
tar -zxvf samba-4.10.16.tar.gz
cd samba-4.10.16
```
Dentro da pasta, agora vamos compilar os arquivos:
```
./configure --enable-debug --enable-selftest
make
make install
```
Depois de compilar tudo, fazer reload das libs.
```
sudo ldconfig
```
alterar o hostname para algo relacionado ao AD.
```
sudo hostnamectl set-hostname "nome"
```
Garantir que o SAMBA AD resolvi o IP
```
vim /etc/hosts
adicionar -> Ip_do_servidor hostname.nomeempresa.com.br hostname
```
7. ajustar o protocolo de autenticação, Kerberos.
Vamos remover o arquivo de configuração padrão:
```
rm -rf /etc/krb5.conf
```
8. Inicie a configuração do AD
```
/usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive
```
Você precisa exportar a linguagem para Inglês:
```
export LANG=en_US.UTF8
```