Compteur de Visites | Total : 64034 Aujourd'hui : 178 Connecté : 1 |
|
| Nos Tutoriaux | Les commandes a connaitre (Doit parfois etre adapter a la distribution ou a la version de Samba) | Demarrer Samba : /etc/init.d/smb start
Arreter Samba : /etc/init.d/smb stop
Redemarrer Samba : /etc/init.d/smb restart
Ajouter un utilisateur Samba : smbpasswd -a nomutilisateur
Changer un password Samba : smbpasswd nomutilisateur
Supprimer un utilisateur Samba : smbpasswd -x nomutilisateur
Desactiver un utilisateur Samba : smbpasswd -d nomutilisateur
Activer un utilisateur Samba : smbpasswd -e nomutilisateur(Note : a la création, les utilisateurs sont activés.)
Afficher la liste des PC's disponible depuis un PC : smbclient -L nomdupc
Envoyer un Winpopup a un PC sous Windows : smbclient -M nomdupc (Entré votre message et appuyé sur CTRL-D)
Pour le reste man smbclient & man smbpasswd
| Les différents fichiers et leurs roles (Doit parfois etre adapter a la distribution ou a la version de Samba) | /etc/samba/smbpasswd : Ce fichier contient tous les utilisateurs Samba et leurs passwords encryptés
/etc/samba/smbusers : Ce fichier contient vos alias Samba, c'est a dire qu'un utilisateur Unix peut repondre sur plusieurs noms samba
exemple : root = administrateur administrator admin
Dans cet exemple l'utilisateur root peut aussi etre appelé administrateur ou administrator ou encore admin par samba
/etc/samba/smb.conf : Fichier contenant toute la configuration de samba, du nom du workgroup au partage en lui meme.
| La configuration de smb.conf pour un Workgroup avec partage au niveau Utilisateur (version 3.0 et plus) | [global] #Signifie que les parametres qui vont suivre sont valables globalement
workgroup = Linboost #Nom de votre Groupe de Travail (Workgroup)
server string = Groupe de Travail Linboost #Description de votre serveur
log file = /var/log/samba/log.%m #Chemin des fichiers logs, Samba fera un fichier log par machine qui se connecte grave au %m qui recupere le nom de la machine client
max log size = 50 #Taille maximum par fichier log en Kb
guest account = nobody #Permet de declarer sur quel compte seront envoyé les utilisateurs inconnus par le systeme
map to guest = Never #Permet de declarer qui sera mapper vers l'accompte guest(nobody), ici j'ai decidé que personne ne pouvait , vous pouvez aussi mettre bad user , dans ce cas tout les utilisateurs incconus du serveur seront automatiquement logué sur le compte guest(nobody)
security = user #Nous déclarons que nous faisons un partage au niveau utilisateur (le plus sur !, evitez les partages au niveau ressource)
encrypt passwords = yes #Nous déclarons que les passwords seront encryptés , c'est obligatoire a partir de la famille WinNT et disponible a partir de Win95 2e édition
smb passwd file = /etc/samba/smbpasswd #Chemin vers le fichier des login et password de Samba
username map = /etc/samba/smbusers #Nous activons l'option des alias du fichier /etc/samba/smbusers
;include = /etc/samba/smb.conf.%m #permet de creer plusieurs fichiers de configuration, un par machine se connectant , je ne l'utilise pas, je le laisse donc en commentaire mais sachez que c'est possible
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 #options des sockets , ca permet une plus grande rapidité, ne m'en demandez pas plus :p
#1er partage de base , cela permet a l'utilisateur d'avoir acces a son home (/home/login)
[homes]
comment = Home Directories
browseable = no
writable = yes
#2e Partage, je cree un partage qui me servira d'exemple pour vous expliquer les options de base.
[LinPartage] #Nom du partage , Attention ne pas dépasser 13 charactéres, ca peut alors bugguer !
comment = Partage Linboost #Commentaire sur le Partage
path = /LinPartage #Chemin vers le répertoire partagé
valid users = Seb , SSj , @Linusers #Ici je déclare quels sont les utilisateurs pouvant acceder a ce partage , comme vous le voyez on peut y mettre des noms d'utilisateurs mais aussi des groupes en utilisant le @
public = no #Je ne veux pas que ce partage soit publique, seul les valides users pourront y acceder
write list = Seb, SSj #Seul l'utilisateur Seb et SSj pourront écrire sur ce partage, les autres valid users sont donc forcement en read only, on aurait pu mettre writable = yes , ce qui aurait eu pour effet de permettre a tout les valid users d'ecrire dans ce partage
#3e Partage par le nom de la machine, je n'explique que les options qui ne sont pas encore expliquées
[MonPC]
comment = PC Directories
path = /usr/pc/%m # Le répertoire du partage se trouve dans /usr/pc/ et le nom du directory sera le nom de la machine se connectant grave a l'option %m
public = no
writable = yes
4e Partage par le nom d'utilisateur
[MonUser]
comment = User Directories
path = /usr/users/%u # Idem que pour au dessus mais ici nous utilisons l'option %u , le directory aura donc le nom de l'utilisateur se connectant
public = no
writable = yes
5e Partage , partage accessible par tous , un brol quoi :p
[public]
path = /usr/public
public = yes #accessible a tous les utilisateurs
guest ok = yes #Accessible au compte gest (voir configuration du compte guest plus haut)
writable = yes #Tout le monde peut ecrire dedans
Il y a biensur des possibilitées de partages infinies et pour expliquer toutes les options il me faudrait des jours entier et cela ne servirait pas a grand chose, donc je vous conseil d'aller lire le man smb.conf pour plus d'info.
Attetion : Les permissions des répertoires partagés dans Samba doivent correspondre a celle de Linux !!! | Configuration de smb.conf en tant que serveur de Domaine (je n'explique biensur que ce qui n'a pas encore été expliqué(version 3.0 et plus) | [global]
workgroup = Linboost #Nom du domaine
server string = Serveur de domaine Linboost
log file = /var/log/samba/log.%m
max log size = 50
map to guest = Never
security = domain
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
os level = 65 #Determine la chance que peut avoir le serveur d'etre le maitre de recherche, Samba nous recommende 65 qui est apparement raisonable
domain master = yes #Specifie que Samba sera le maitre de recherche pour le domaine
preferred master = yes #Force Samba a etre le maitre de recherche
domain logons = yes #On declare que Samba sera le demaine de demarrage pour les stations de type Win9x et de type WinNT
domain admin group = root #On declare qui est l'administrateur du groupe, important pour la 1er connection d'une machine au domaine, c'est ces identifiants que vous devez entrer sur les stations de type WinNT
logon drive = z: #On déclare que le home de la personne sera affecté a la lettre z: sur les stations de type WinNT
;logon script = %m.bat #Permet de lancer un script bat a chaque connection d'une certaine machine , le %m represente le nom de la machine
;logon script = %U.bat #idem pour les utilisateurs, le %u represente le nom de l'utilisateur
logon path = \%LProfiles\%U #détermine ou sera stocké le profil de l'utilisateur pour les machines de type WinNT ( %L represente de nom de cette machine , le %U le nom de l'utilisateur
logon home = \%L\%U.profile #Idem pour les stations de type Win9x qui demande que le profil soit d'office dans le home de l'utilisateur , donc pas question de le mettre ailleur !
add machine script = /usr/sbin/useradd -d /dev/null -g machines -c 'Machine Account' -s /bin/false -M %u #Script permettant l'ajout de la machine se connectant pour la 1er fois au domaine , comme vous pouvez le voir , un utilisateur au nom de la machine se connectant est cree sur votre serveur linux
[homes] #Le partage home , obligatoire pour les machines de type Win9x car le profil passe par la !
comment = Home Directories
browseable = no
writable = yes
[Profiles] #Le partage Profiles pour les profils des stations de type WinNT
path = /home/%u/.profiles
browseable = no
guest ok = yes
writable = yes
[netlogon]#Le Partage permettant de stocker le fichier ntconfig.pol contenant les privileges des utilisateurs du domaine
comment = Network Logon Service
path = /netlogon
guest ok = yes
writable = no
N'oubliez pas votre meilleur amis man smb.conf
| Associer un lecteur a un Partage (Samba en serveur de Domaine) | Reprenons l'exemple de smb.conf ci-dessus, nous rajoutons la ligne :
logon script = logon.bat
et nous rajoutons le partage :
[Public]
comment = Public Stuff
path = /Public
public = yes
writable = yes
create mask = 0777 (les fichiers crées dans ce partage auront le mask de permissions 0777)
Nous voulons associé ce partage a la lettre Y: sur les machines Windows qui font partie du domaine, rien de plus simple , dans le repertoire /netlogon (qui est en partage , voir la conf de samba pour serveur de domaine) nous creons le fichier logon.bat et dedans on associe notre partage a la lettre Y: avec une commande DOS.
net use Y: \\NomduServeur\Public
Lorsque le machine Windows rentrera dans le domaine, il executera le fichier logon.bat et associera donc le lettre Y a notre partage Public.
Vous pouvez biensur faire ca avec n'importe quel partage et vous pouvez aussi creer des demarrage specifique selon la machine (avec %m) ou selon l'utilisateur (avec %u).
| Monter un Partage sous Linux et l'automatiser au demarrage | Nous reprenons l'exemple de partage ci-dessus (/Public) , pour monter ce partage sous Linux, j'utilise la commande mount (on peut aussi utiliser smbmount), par exemple si je veux monter ce partage dans /mnt/Public , je fais :
mkdir /mnt/Public
mount -t smbfs -o username=utilisateur,password=mdp //Nomduserveur/Public /mnt/Public
(l'utilisateur utilisé est biensur un utilisateur connu du serveur samba)
si l'on veut que ce partage soit monté au demarrage de linux, il y a deux solutions :
1) Copier cette ligne dans rc.local , le probleme est que tous les utilisateurs ont acces en lecture a rc.local et donc pourront voir le login et password utilisé. Si vous etes seul sur la machine ca ne pose pas trop de probleme.
2) Monter le lecteur dans fstab , petit inconvénient , un password vous sera alors demandé au demarrage de Linux.
Personnelement j'ai essayé les deux et j'ai gardé la 2e solution :
Editez votre fichier fstab (se trouve dans /etc) et rajoutez la ligne suivante :
//NomduServeur/Public /mnt/Public smbfs defaults 0 0
Petit probleme , le partage ne sera alors accessible que en lecture pour votre Utilisateur, pour remedier a ca , allez dans /etc/passwd et regardez l'uid et le gid de votre utilisateur (ce sont les deux chiffres a cote du nom de votre utilisateur) et completez votre fstab :
//NomduServeur/Public /mnt/Public smbfs auto,user,rw,uid=1000,gid=100,umask=0 0 0
Vous pouvez biensur mettre des permissions a tout un groupe d'utilisateurs et pas seulement a un seul, a vous de voir ;)
L'avantage d'avoir mis le montage dans fstab est aussi de pouvoir creer un lien sur votre bureau KDE , pour cela sur votre bureau, faites un click droit --> Create new --> Device --> NFS et choisissez votre montage smbfs , vous aurez alors un lien dynamique vers votre partage , dynamique car l'icone changera en fonction de l'accessibilité du partage. | |  |
Copyleft 2003-2006 Spcnet.be & SaintShakajin, tous droits réservés.
|