2.4.2 Le même serveur simple en mode share, mais avec des utilisateurs définis sous Linux/Samba
Nous allons définir des utilisateurs et ajouter un partage correspondant au dossier $HOME des utilisateurs.
Création de deux groupes (professeurs et eleves):
[root@DeepGlue steph]# groupadd professeurs [root@DeepGlue steph]# groupadd eleves |
[root@DeepGlue steph]# useradd martin -g professeurs [root@DeepGlue steph]# passwd martin Changing password for user martin. New UNIX password: BAD PASSWORD: it is based on a dictionary word Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@DeepGlue steph]# smbpasswd -a martin New SMB password: Retype new SMB password: Password changed for user martin. [root@DeepGlue steph]# |
[root@DeepGlue steph]# useradd toto -g eleves [root@DeepGlue steph]# passwd toto Changing password for user toto. New UNIX password: BAD PASSWORD: it is too short Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@DeepGlue steph]# smbpasswd -a toto New SMB password: Retype new SMB password: Added user toto. |
On aurait pu effectuer des useradd toto,... sans paramètres, mais dans
ce cas, le groupe principal de l'utilisateur toto
serait un groupe toto créé
par la même commande.
Outre que cela n'a pas d'intérêt, si on créé 400
utilisateurs, avoir 400 groupes n'aura vraiment pas de sens.
Nous verrons plus loin que ces groupes principaux permettent d'autres traitements
intéressants (pour les droits sur les fichiers
et dossiers,... jusqu'à la configuration de samba elle-même).
Le groupe principal d'un utilisateur sera groupe propriétaire par
défaut des fichiers/dossiers créés par l'utilisateur.
Malgré les avertissements comme quoi
mes mots de passe sont mal choisis, l'utilisateur root peut imposer un mot de passe en outrepassant
ces avertissements (alors qu'un utilisateur cherchant
à changer son mot de passe via "passwd" se verrait refuser un mot
de passe bidon).
La commande smbpasswd
peut prendre différents paramètres.
En voici queqlues uns (pour les autres, voir man smbpasswd):
Modification du smb.conf: on ajoute un partage!
#======== Global Settings ========= [global] workgroup = MaMaison netbios name = LeJoliServeur hosts allow = 192.168.52. 127. security = share #======= Share Definitions ======== [public] comment = Dossier public path = /home/samba/public browseable = yes public = yes writable = yes [homes] comment = Home Directories browseable = no writable = yes |
Le partage [homes] correspond à un
mot réservé.
C'est un partage particulier qui pointe vers le dossier personnel créé
lors de l'ajout de l'utilisateur linux.
Le dossier personnel n'est jamais le même d'un utilisateur à
l'autre si bien que cette section ne contient pas de path.
(il est même possible de spécifier des
chemins spéciaux pour les dossiers personnels des utilisateurs qui
sinon sont créés comme sous-dossiers directs de /home).
Ce partage n'est pas listable (sans intérêt,
mais si vous souhaitez voir ici
l'aspect des partages...), par contre l'utilisateur martin verra le partage [martin] (son $HOME).
Utiliser la commande testparm qui lit le fichier smb.conf et permet de vérifier qu'il n'y a pas d'erreur de syntaxe.
Puis on redémarre le serveur (pour lui faire
relire son fichier de configuration, à savoir /etc/samba/smb.conf):
[root@DeepGlue steph]# samba restart Shutting down SMB services: [ OK ] Shutting down NMB services: [ OK ] Starting SMB services: [ OK ] Starting NMB services: [ OK ] [root@DeepGlue steph]# |
Pour pouvoir voir ce partage [homes],
il faut effectuer une configuration du client:
|
![]() |
On modifie le mode d'ouverture de session pour pouvoir saisir un nom d'utilisateur et un mot de passe lors du démarrage (ou de la re-connexion). Onglet Configuration/Ouverture de session principale: Client pour les réseaux Micro$oft
|
|
Lors de la connexion du client, il faut saisir le
nom de l'utilisateur et le mot de passe. On note qu'il n'y a pas moyen d'éviter de ressaisir le mot de passe lors de la première connexion (mise en antémémoire du mot de passe). (voir plus bas). |
![]() |
Dans l'Explorateur Window$, le partage
[martin] apparait. |
![]() |
Mais si on clique sur le partage [martin], un mot de passe nous est à nouveau
demandé (alors qu'on l'a déjà
fourni lors du login). De plus, par défaut, Enregistrer votre mot de passe dans votre liste de mots de passe est coché (il s'agit de la mise en antémémoire des mots de passe). C'est une facilité, mais une énorme faille de sécurité, car cela créée un fichier .PWL dans C:\windows\ Des logiciels de crackage de mots de passe auront tôt fait de dévoiler des couples utilisateur/mot_de_passe car ces .PWL sont épouvantablement mal protégés. Il sera utile de passer une clé de registre pour régler le problème: supprimer_mise_en_antememoire_des_mots_de_passe.reg |
![]() |
Autre remarque: Créer un dossier /etc/skelprof
et un dossier /etc/skeleleve, Créez ensuite vos utilisateurs avec les paramètres
suivants: |
![]() |
Ces utilisateurs sont toutefois des utilisateurs linux
standards, donc autorisés à se connecter sur le serveur "physiquement"
ou via telnet/ssh.
Ils pourraient y faire des âneries (limitées
par leurs droits toutefois).
Il est possible de s'en prémunir:
Il suffit pour cela de leur fournir comme shell,
un shell particulier.
useradd titi -g eleves -m -k /etc/skeleleve -s /bin/false
...
useradd tartempion -g professeurs -m -k /etc/skelprof
-s /bin/false
...
Faites l'expérience (créez l'utilisateur
et définissez lui un mot de passe) et tentez de vous connecter
en tant que ce nouvel utilisateur dans une console (CTRL+ALT+F1
ou CTRL+ALT+F2,...).
Le login devrait se solder par un échec.
Un test équivalent:
[steph@DeepGlue steph]$ su toto Password: [steph@DeepGlue steph]$ |
Remarque sur le partage [public]:
Problèmes de droits:
En mode security=share, tous les fichiers et dossiers
créés dans le dossier [public](que ce soit par un utilisateur déclaré dans
smbpasswd ou non) ont pour propriétaire nobody et pour groupe propriétaire nogroup.
Dans ces conditions, chaque utilisateur peut supprimer les fichiers et dossiers
créés par son voisin.
Ressources:
Le fichier smb.conf (avec
les fins de lignes UNIX): smb.conf.version2 (qu'il faudra renommer en smb.conf)
Sommaire - | Précédent - | Suivant |