Objectif
L'objectif est d'effectuer une configuration de base du serveur Samba sur Debian 9 Stretch Linux pour fournir un accès aux partages Samba via la machine cliente MS Windows.
Versions du système d'exploitation et du logiciel
- Système d'exploitation : – Étirement de Debian 9
- Logiciel : – Samba 4.5.8-Debian
Exigences
Un accès privilégié à votre système Debian sera requis.
Difficulté
FACILE
Congrès
- # - 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
sudo
commande - $ - nécessite que les 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 supposera un scénario suivant et des 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 la communication entre les deux
- Le client MS Windows peut résoudre le serveur Samba par le nom d'hôte
samba-server
- Le domaine du groupe de travail du client MS Windows est
WORKGROUP
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 à éditer smb.conf
config, faisons une sauvegarde du fichier de configuration d'origine et extrayons les lignes pertinentes de la configuration actuelle dans un nouveau smb.conf
fichier :
# 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 /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 possède son propre système de gestion des utilisateurs. Cependant, tout utilisateur existant sur la liste des utilisateurs samba doit également exister dans /etc/passwd
dossier. Pour cette raison, créez un nouvel utilisateur en utilisant useradd
commande avant de créer un nouvel utilisateur Samba. Une fois que votre nouvel utilisateur système, par exemple. linuxconfig
quitte, utilisez smbpasswd
commande pour créer un nouvel utilisateur Samba :
# smbpasswd -a linuxconfig New SMB password:
Partage de répertoires personnels Samba
Par défaut, tous les répertoires personnels sont exportés en lecture seule et ils ne sont pas browseable
. Pour modifier ces paramètres de configuration par défaut, modifiez les homes
actuels partager la définition avec :
[homes] comment = Home Directories browseable = yes read only = no create mask = 0700 directory mask = 0700 valid users = %S
Chaque fois que vous modifiez votre /etc/samba/smb.conf
fichier de configuration n'oubliez pas de redémarrer votre démon de serveur samba :
# systemctl restart smbd
Partage anonyme public Samba
La définition Samba suivante permettra à tout utilisateur de lire et d'écrire des données dans le partage Samba sous /var/samba/
annuaire. 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 /etc/samba/smb.conf
Fichier de configuration Samba :
[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
Monter les partages 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 \\\samba-server
exécution de la commande :
Si tout s'est bien passé, vous devriez voir la liste de tous les partages samba navigables :
Ensuite, mappez l'un des répertoires partagés en cliquant avec le bouton droit sur le partage et en sélectionnant un
Map Network Drive...
option. Cochez, Connect using different credentials
option et terminez le mappage du lecteur réseau en fournissant les informations d'identification de l'utilisateur créées aux étapes précédentes :
Annexe
Lister les utilisateurs Samba :
# pdbedit -w -L
Supprimer l'utilisateur Samba :
# pdbedit -x -u username