linboost.org
Lea-Linux :: LinuxFr :: Club Mandriva :: Fedora-France :: LinuxGraphic :: Mepis-France :: Spcnet
Firefox 2
Bienvenue sur Linboost.org
Menu


Programmation


GNU/Linux


Votre Compte



S'enregistrer



Compteur de Visites
Total : 64034
Aujourd'hui : 178

Connecté : 1

Valid CSS!

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.
Retour

Copyleft 2003-2006 Spcnet.be & SaintShakajin, tous droits réservés.