Installation : samba 4

Samba, permet à des ordinateurs Unix/Linux de mettre à disposition des imprimantes et des fichiers dans des réseaux Windows, en mettant en œuvre le protocole SMB/CIFS de Microsoft Windows et inversement.
Depuis décembre 2012 Samba 4 supporte le côté serveur dans un environnement Active Directory utilisé par Windows 2000.
Il est ainsi possible de joindre complètement des clients Windows à un domaine et effectuer des opérations d'ouverture de session.

Pour cela, il inclut un serveur LDAP et un centre de distribution de clés Kerberos (KDC).
Et tout ça sous licence GNU GPL 3

Donc, je vais montrer comment installer SAMBA 4 depuis les Dépot Git de SAMBA.
Je vais commencer en vous présentant les différents rôles et sécurités utilisés dans Samba, car en effet, il faut avoir en tête ces règles, cela influencera votre projet ou votre utilisation de Samba.

Samba Rôle

Comme très légèrement détaillé au-dessus, Samba peut avoir différent rôle que je vais vous détailler cela, c'est sur ces paramètres que vous allez indiquer qu'elle mode utilisé.

standalone | standalone server : Celui-ci peut fonctionner lui-même où il peut adhérer et de participer à un domaine Windows.
Cette option peut également être utilisée pour créer un fichier ouvert et comme serveur d'impression.

member | member server : Celui-ci peut joindre un domaine Windows existant (qui pourrait aussi être Samba3 ou samba4 base).
Il a besoin des mots de passe cryptés et de se mapper avec Winbind.

classic primary domain controller : Exécutez samba 4 comme un contrôleur/NT4 de domaine Samba 3.

netbios backup domain controller : Exécute un contrôleur de domaine de sauvegarde Samba classique, fournissant des services d'ouverture de session de domaine aux clients Windows et Samba d'un domaine NT4-like.
Utile pour un service de connexion redondante.

active directory domain controller | domain controller | dc : Active Directory Domain Controller fournir des services de connexion pour Windows XP via Windows 8.

Samba SECURITY

C'est sur ce paramètre-là que vous devez réfléchir avant de commencer.
la politique de sécurité, vous permet de choisir la méthode d'authentification.

SHARE : Sécurité basée sur les mots de passes. Les utilisateurs accèdent au partage en indiquant le mot de passe d'un utilisateur. Les droits sur les fichiers s'appliqueront sur le partage.
Mode utilisé pour des postes sous Windows 9x et Me. Il est aussi possible de ne pas faire d'authentification via ce mode.

USER : Une sécurité basée sur une identification par login et mot de passe depuis une liste d'utilisateurs (Base d'utilisateurs Samba, base d'annuaire LDAP, …).
Ce mode est celui par défaut si le champ security n'est pas renseigné.

DOMAIN : Une sécurité basée sur une identification par login et mot de passe géré par un contrôleur de domaine.

SERVER : Une sécurité basée sur une identification par login et mot de passe géré par un autre serveur sur le réseau.

ADS : Une sécurité basée sur Active Directory.

Installation des dépendances

Cool ça commence Pour les machines type debian :

apt-get install acl attr autoconf bind9utils bison build-essential \
debhelper dnsutils docbook-xml docbook-xsl flex gdb libjansson-dev krb5-user \
libacl1-dev libaio-dev libarchive-dev libattr1-dev libblkid-dev libbsd-dev \
libcap-dev libcups2-dev libgnutls28-dev libgpgme-dev libjson-perl \
libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \
libpopt-dev libreadline-dev nettle-dev perl perl-modules pkg-config \
python-all-dev python-crypto python-dbg python-dev python-dnspython \
python3-dnspython python-gpg python3-gpg python-markdown python3-markdown \
python3-dev xsltproc zlib1g-dev liblmdb-dev lmdb-utils

J'ai installé Kerberos client, car je présenterai dans d'autres article les différentes configurations de samba, je suis conscient que samba dans un rôle standalone avec des logins locaux, c'est inutile

git clone -b samba-4.13.3 https://gitlab.com/samba-team/samba.git samba-4.13.3
cd samba-4.13.3
./configure
make
make install

Voilà, l'installation est terminée.

Les binaires sont placés /usr/local/samba/sbin/

Le fichier de configuration smb.conf sera à créer dans /usr/local/samba/etc

Les commandes samba-tool, smbpasswd, etc. se trouvent dans /usr/local/samba/bin

Donc, pour que nous puissions utilisés les commandes habituelles de samba samba-tool, smbpasswd, etc.
Nous allons donc, compléter notre variable d'environnement PATH.
Ouvrer le fichier bash.bashrc (type debian) ou bashrc (type rehat) qui est dans /etc

vim /etc/bash.bashrc

Ajouté ce qui suit à la fin du fichier :

export PATH=$PATH:/usr/local/samba/bin

script de Lancement

Je me suis fabriqué un petit script de lancement samba.tar.gz, il vous suffit de le récupérer, de le décompresser :

tar -xvzf samba.tar.gz

De le mettre dans le répertoire de lancement init.d:

mv samba /etc/init.d/

Lui mettre les bons droits et le bon propriétaire, si ce n'est pas déjà fait.

chown root:root /etc/init.d/samba
chmod 755 /etc/init.d/samba

Et pour terminer d'activer le service afin que le script soit exécuté au démarrage.

update-rc.d samba defaults

autres: informations

Pour désinstaller samba 4:

make uninstall
make clean
rm -rf /usr/local/samba

Pour effacer toutes la configuration de samba (fichier de configuration et base local)

rm -f /usr/local/samba/etc/smb.conf
rm -rf /usr/local/samba/private/*

Affiché les connexions actives via Samba :

smbstatus -v

Articles en lien: rôle active directory domain controller, rôle member server, security ADS, rôle standalone, security USER,
source : samba.org, wikipedia