Aller à : navigation, rechercher

SAMBA - Compiler samba avec MIT Kerberos

ATTENTION Cette documentation est là pour démonstration et tests. Samba compilé avec le support MIT Kerberos n'est pas encore prêt pour la production !!!

  • CentOS 7

Problème de dépendance avec le paquet gnutls version >= 3.4.7, la version présente dans la distribution est de 3.3.26.


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 \
      python-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
yum install -y krb5-devel.x86_64
yum install -y krb5-server.x86_64
yum install autoconf
yum install m4
yum install net-tools screen bind-utils mlocate

Définir les variables d'environement de compilation:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig

Chargement de la librairie nettle pour gnutls

wget https://ftp.gnu.org/gnu/nettle/nettle-3.1.tar.gz
tar -xzvf nettle-3.1.tar.gz
cd nettle-3.1
./configure
make
make install

Chargement et compilation gnutls

wget https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.0.tar.xz
xz -d gnutls-3.5.0.tar.xz
tar -xvf gnutls-3.5.0.tar
cd gnutls-3.5.0
./configure --with-included-unistring
make
make install


Préparation compilation samb4

cd /root
wget --no-check-certificate https://www.samba.org/samba/ftp/stable/samba-4.7.1.tar.gz
tar -zxvf samba-4.7.1.tar.gz
cd samba-4.7.1
./configure --with-system-mitkrb5
make 
make install

Définir la variable LD_LIBRARY_PATH

echo "export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib64/:/usr/local/lib64" >> /root/.bashrc

Par défaut samba sera compilé dans le répertoire: /usr/local/samba

il vous faudra penser a adapter les chemins que nous donnerons dans les prochaines documentations:

l’arborescence d'un samba compilé par défaut:

tree -L 1 -d /usr/local/samba/
/usr/local/samba/
├── bin
├── etc
├── include
├── lib
├── libexec
├── private
├── sbin
├── share
└── var

Exemple pour la commande samba-tool se trouve:

/usr/local/samba/bin/samba-tool --version

Rajouts divers

Rajout des outils samba dans $PATH

echo "export PATH=$PATH:/usr/local/samba/sbin:/usr/local/samba/bin" >> /root/.bashrc
source /root/.bashrc