Comment configurer le partage de Samba Server sur Debian 9 Stretch Linux
Objectif
L’objectif est d’effectuer une configuration de base du serveur Samba sur Debian 9 Stretch Linux pour permettre l’accès aux partages Samba via la machine cliente MS Windows.
Système d’exploitation et versions logicielles
- Système d’exploitation : – Debian 9 Stretch
- Logiciel : – Samba 4.5.8-Debian
Exigences
Un accès privilégié à votre système Debian sera requis.
Difficulté
FACILE
Conventions
- # – nécessite que les commandes Linux données soient exécutées avec les privilèges root, soit directement en tant qu’utilisateur root, soit en utilisant la commande
sudo - $ – nécessite que des commandes Linux données soient exécutées en tant qu’utilisateur régulier non privilégié
Scénario
La procédure de configuration ci-dessous suppose le scénario suivant et les exigences préconfigurées :
- Le serveur et le client MS Windows sont situés sur le même réseau et aucun pare-feu ne bloque toute communication entre les deux
- Le client MS Windows peut résoudre le serveur samba par le nom
d’hôte samba-server
Instructions
Installation
Commençons par l’installation du serveur Samba :
apt install samba
De plus, à des fins de test, il est également recommandé d’installer le client samba :
apt install smbclient
Le serveur Samba devrait maintenant être opérationnel sur votre système :
systemctl status smbd
● smbd.service - Samba SMB Daemon
Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2017-06-13 10:35:34 AEST; 3min 32s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 1654 (smbd)
Status: "smbd: ready to serve connections..."
CGroup: /system.slice/smbd.service
├─1654 /usr/sbin/smbd
├─1655 /usr/sbin/smbd
├─1656 /usr/sbin/smbd
└─1659 /usr/sbin/smbd
Configuration Samba par défaut
Le fichier de configuration principal de Samba s’appelle /etc/samba/smb.conf. Avant de commencer à modifier le fichier de configuration smb.conf, faisons une sauvegarde du fichier de configuration d’origine et extrayons les lignes pertinentes de la configuration actuelle dans un nouveau fichier smb.conf :
cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf
Votre nouveau fichier /etc/samba/smb.conf doit maintenant contenir :
cat /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes
[homes]
comment = Home Directories
browseable = no
read only = yes
create mask = 0700
directory mask = 0700
valid users = %S
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
Redémarrez votre serveur samba et utilisez le client SMB pour confirmer tous les groupes samba exportés :
systemctl restart smbd
smbclient -L localhost
WARNING: The "syslog" option is deprecated
Enter root's password:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian]
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
IPC$ IPC IPC Service (Samba 4.5.8-Debian)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian]
Server Comment
--------- -------
LASERPRINTER
LINUXCONFIG Samba 4.5.8-Debian
Workgroup Master
--------- -------
WORKGROUP LINUXCONFIG
Ajouter des utilisateurs
Samba dispose de son propre système de gestion des utilisateurs. Cependant, tout utilisateur existant sur la liste d’utilisateurs samba doit également exister dans le fichier /etc/passwd. Pour cette raison, créez un nouvel utilisateur à l’aide de la commande useradd avant de créer un nouvel utilisateur Samba. Une fois que votre nouvel utilisateur du système par exemple. linuxconfig se termine, utilisez la commande smbpasswd pour créer un nouvel utilisateur Samba :
smbpasswd -a linuxconfig
New SMB password:
Samba Home Annuaires Partager
Par défaut, tous les répertoires personnels sont exportés en lecture seule et ne sont pas consultables. Pour modifier ces paramètres de configuration par défaut, modifiez la définition de partage des maisons actuelles comme suit :
[homes]
comment = Home Directories
browseable = yes
read only = no
create mask = 0700
directory mask = 0700
valid users = %S
Chaque fois que vous apportez une modification à votre fichier de configuration /etc/samba/smb.conf, n’oubliez pas de redémarrer votre démon de serveur samba :
systemctl restart smbd
Samba Public Anonyme Partager
La définition suivante de Samba permettra à tout utilisateur de lire et d’écrire des données dans le partage Samba sous le répertoire /var/samba/. Tout d’abord, créez un nouveau répertoire et rendez-le accessible à tous :
mkdir /var/samba
chmod 777 /var/samba/
Ensuite, ajoutez une nouvelle définition de partage samba dans votre fichier de configuration Samba /etc/samba/smb.conf :
[public]
comment = public anonymous access
path = /var/samba/
browsable =yes
create mask = 0660
directory mask = 0771
writable = yes
guest ok = yes
Redémarrez votre démon de serveur samba :
systemctl restart smbd
Partage du mont Samba
Maintenant, nous sommes prêts à porter notre attention sur la machine MS Windows et la carte réseau de nos nouveaux répertoires de partage Samba. Commencez par lister tous les partages disponibles par l’exécution de la commande "samba-server :
Appendice
Liste des utilisateurs de Samba :
pdbedit -w -L
Supprimer l’utilisateur Samba :
pdbedit -x -u username