Mon nouveau Nas apprend la samba

Voici la suite de mes travaux sur mon petit serveur dédié au stockage. Après l’installation des partages Linux (NFS), je m’attaque maintenant aux partages windows. Même si je n’utilise pas windows pour mes activités informatiques, mise à part quelques jeux, je trouve utile pour un serveur d’être accessible depuis n’importe quel système notamment lorsque je veux échanger avec des invités qui sont sous windows, de plus cela faisait partie de mon cahier des charges.

De plus cet article me permet de mettre en place mon nouveau thème graphique pour 2015.

Les installations sous Debian se suivent et se ressemblent :

sudo apt-get install samba

Après cette formalité je passe directement à la configuration du serveur en lui-même. Tout se configure depuis le fichier /etc/samba/smb.conf. Voici la configuration détaillée que j’utilise :

#======================= Global Settings =======================
[global]
#Spécifie le groupe de travail
workgroup = WORKGROUP
#Description du serveur
server string = %h server
#pas de proxy
dns proxy = no
#Niveau de précision des log plus d'infos <a target="_blank" href="http://oreilly.com/openbook/samba/book/ch09_01.html&quot;%20target=&quot;_blank&quot; data-mce-href=&quot;http://oreilly.com/openbook/samba/book/ch09_01.html" data-mce-href="http://oreilly.com/openbook/samba/book/ch09_01.html&quot;%20target=&quot;_blank&quot; data-mce-href=&quot;http://oreilly.com/openbook/samba/book/ch09_01.html">ici[->]</a>
log level = 1
#pas de log d'évènement
syslog = 0
#où enregistrer le fichier de logs
log file = /var/log/samba/log.%m
#taille maximale du fichier
max log size = 1000
#mot de passes chiffrés
encrypt passwords = true
smb password file = /etc/smbpasswd
#niveau de sécurité : seul les utilisateurs avec un compte peuvent se connecter
security = user
#Permet de mapper les autorisation Unix vers windows, tous les fichiers créés à partir
#d'un poste windows auront les autorisations linux 777
create mask = 0777
#pareil que create mask mais pour les dossiers
directory mask = 0777
#améliore les transferts de fichiers
use sendfile = yes
aio read size = 16384
aio write size = 16384
#utilisateurs sans mot de passe interdit
null passwords = no
#seul maître à bords
local master = yes
#pas de serveur de temps ni de support <a target="_blank" href="https://fr.wikipedia.org/wiki/Windows_Internet_Naming_Service" data-mce-href="https://fr.wikipedia.org/wiki/Windows_Internet_Naming_Service">wins</a>
time server = no
wins support = no

Ensuite pour chaque utilisateurs autorisés à accéder aux partages je créer un compte samba. Exemple avec l’utilisateur olivier.

sudo smbpasswd -a olivier
New SMB password:
Retype new SMB password:
Added user olivier.

Concernant les utilisateurs de passages avec qui je souhaite échanger, je crée un compte unique dédié avec leur répertoire. Ce qui me permet de détecter d’éventuels fichiers corrompus grâce à clamav avant de les intégrer à mes dossiers courants. Et cela évite que certain se baladent tranquillement dans mes photos ou autre.

# Création du répertoire pour les invités
sudo mkdir /media/disk27B/johndoe
# création de l'utilisateur invité
sudo adduser johndoe
Ajout de l'utilisateur « johndoe » ...
Ajout du nouveau groupe « johndoe » (1001) ...
Ajout du nouvel utilisateur « johndoe » (1001) avec le groupe « johndoe                                                    » ...
Création du répertoire personnel « /home/johndoe »...
Copie des fichiers depuis « /etc/skel »...
Entrez le nouveau mot de passe UNIX :
Retapez le nouveau mot de passe UNIX :
passwd : le mot de passe a été mis à jour avec succès
Modification des informations relatives à l'utilisateur johndoe
Entrez la nouvelle valeur ou « Entrée » pour conserver la valeur proposée
        Nom complet []: John Doe
        N° de bureau []:
        Téléphone professionnel []:
        Téléphone personnel []:
        Autre []:
Cette information est-elle correcte ? [O/n]o
#création du compte samba
sudo smbpasswd -a johndoe
New SMB password:
Retype new SMB password:
Added user johndoe.

Le serveur maintenant opérationnel je passe à la création des partages samba, toujours dans le fichier /etc/samba/smb.conf. En exemple le répertoire photos :

#======================= Share Definitions =======================
[photos]
path = /media/disk27B/photos/
#invités interdit
guest ok = no
#lecture seule non
read only = no
#dossier navigable
browseable = yes
#hérite des différentes acl
inherit acls = yes
inherit permissions = no
ea support = no
store dos attributes = no
printable = no
#lorsqu'un dossier ou un fichiers est crée il hérite des autorisations suivantes
create mask = 0755
force create mode = 0644
directory mask = 0755
force directory mode = 0755
hide dot files = yes

Une fois tous les partages configurés, je m’occupe du dossier  John Doe.

#=============== Share Definitions fo John Doe user=======================
[johndoe]
path = /media/disk27B/johndoe
#invités interdit
guest ok = yes
#lecture seule non
read only = no
#dossier navigable
browseable = yes
#hérite des différentes acl
inherit acls = yes
inherit permissions = no
ea support = no
store dos attributes = no
printable = no
#lorsqu'un dossier ou un fichiers est crée il hérite des autorisations suivantes
create mask = 0755
force create mode = 0644
directory mask = 0755
force directory mode = 0755
hide dot files = yes

Avec ce système mes utilisateurs courant ont accès aux dossiers partagés, sauf john doe qui a accès uniquement à son répertoire. Cette configuration est un premier jet, je l’ai réfléchi sur le “papier”. Je verrai à l’usage si l’utilisateur John Doe est utile ou s’il faut que j’adapte cette configuration.

 

Vus : 861
Publié par Olivier Delort : 73