Partager ses données avec samba depuis Linux
Par Dju » 09 octobre 2010 (11:00) - Serveur
Voici quelques explications afinde pouvoir facilement partager ses données, depuis un ordinateur sous linux, vers un réseau de machines sous windows.
La configuration est faite ici le plus simplement en utilisant les utilisateurs locaux créés sur la machine.
On commence par l'installer de manière classique :
aptitude install samba
si vous avez un dockstar de seagate sous debian, rajoutez également le paquet samba-common-bin, ce qui vous aidera par la suite, sans lequel vous n'aurez pas certaines commandes bien pratiques
aptitude install samba-common-bin
Une foi installé, il se lance automatiquement, donc on l'arrête pour attaquer la config
/etc/init.d/samba stop
puis on se rend dans le répertoire de samba, et on renomme le fichier de configuration original
cd /etc/samba
mv smb.conf smb.conf.org
En effet, on va se créer un nouveau fichier, beaucoup réduit et simple que l'original, qui peut faire un peu peur quand on l'ouvre :D
On va déclarer une première section dans laquelle on va indiquer les paramètres généraux de samba. Puis ensuite une section par partage.
Commençons par cette première section :
[global] server string = Mon Super Serveur Sous Linux workgroup = MONRESEAU netbios name = MONSERVEUR public = yes encrypt passwords = true log file = /var/log/samba/log.%m syslog = 0 panic action = /usr/share/samba/panic-action %d dns proxy = no security = user invalid users = root socket options = TCP_NODELAY guest account = nobody share modes = yes
On déclare ici un serveur, dont le nom réseau va être MONSERVEUR, sur un groupe de travail nommé MONRESEAU
Également important, la ligne security=user, qui indique que l'on souhaite que les utilisateurs s'authentifient pour accèder aux données.
La ligne share modes = yes indique l'accès multi-utilisateurs
On indique une description (server string) qui apparaitra dans les propriétés du partage pour indiquer à quoi il sert. on peut laisser vide si pas de description/
Pour le reste vous pouvez laissez tel quel.
Passons maintenant au(x) partage(s)
[mon_partage] path = /media/disque/dossier read only = no writeable = yes public = no valid users = dju comment = dju's files force user = dju force group = dju create mask = 0640 directory mask = 0750
- A la première ligne, le nom entre crochet est le nom du partage, tel qu'il sera appelé sur la machine.
%
- Le path désigne le dossier à partager
- on veut que l'utilisateur puisse non seulement lire, mais également écrire dans le partage. donc on indique writeable = yes
- on met la ligne public=no pour indiquer que le partage n'est pas public et qu'il faut s'authentifier.
- très importante, la ligne "valid users = dju" indique quels utilisateurs vont avoir accès à ce partage. ici je ne donne l'accès qu'à l'utilisateur dju. si on veut en mettre plusieurs, on les sépare par un espace.
- la ligne public = no indique que le partage ne sera pas visible dans la liste des partages aux utilisateurs non authentifiés
- on force l'utilisateur dju et le groupe dju pour tout fichier/dossier créé, avec les permissions 0640 pour les fichiers créés, et 0750 pour les dossiers créés. ainsi, l'utilisateur créateur de ces fichiers/dossiers y aura un acces total, les utilisateur du groupe en lecture, et rien pour les autres.
- enfin, il faudra, pour que cela fonctionne, que le dossier /media/disque/dossier aie les bons droits d'accès pour l'utilisateur. ici, comme seul dju y a accès, on le créera avec un droit restreint :
mkdir /media/disque/dossier
chown dju:dju /media/disque/dossier
chmod 740 /media/disque/dossier
Puis, afin de valider l'utilisateur au niveau de samba, on va renseigner son mot de passe :
smbpasswd dju
Maintenant, créons un deuxième partage encore plus simple, auquel tout le monde aura accès en lecture écriture.
[mon_partage_public] path = /media/disque/dossier_public writeable = yes public = yes comment = public files create mask = 0777 directory mask = 0777
- on appelle le partage mon_partage_public
- on donne les droits de lecture écriture à tout le monde
- si vous souhaitez partager des données pour tout le monde, mais en lecture seule, mettez plutot writeable = no
en conséquence, il faudra créer sur votre disque le dossier correspondant et lui donner les droits d'accès à tout le monde :
mkdir -p /media/disque/dossier_public
chmod 777 /media/disque/dossier_public
Également à prendre en compte, si le dossier que vous souhaitez partager est sur un disque formaté en NTFS, et monté via ntf-3g, alors par défaut le système lui donne les droits d'accès pour tout le monde, vu que sous Linux les droits NTFS ne sont pas gérés (uniquement sous windows)
Ainsi, vous n'aurez pas à vous occuper de l'appartenance du dossier ni de ses droits au niveau du système de fichiers, vous aurez juste à configurer l'accès au niveau de samba
Et voila. la configuration étant maintenant faite, y'a plus qu'à relancer samba
/etc/init.d/samba start
Comme d'habitude un tuto très bien rédigé compréhensible par le moindre noob
J'en ai profité pour installer Samba sur le Dockstar...ça fonctionne très bien.
Seul regret, mon taux de transfert ne dépasse pas 6Mo/s ( et pas plus de 1Mo/s à partir d'un poste en Wifi ! )
Mon disque connecté sur le Dockstar étant en USB2, j'espérais un taux bien plus élévé !
Pour info le dossier partagé se trouve sur une partition linux formatée en ext3.
J'attend de voir avec impatience les résultats obtenus par d'autres utilisateurs de Samba sur le Dockstar...
Merci pour ton travail
Salut
Sur mon mien, si j'envoie un fichier dans mon répertoire home (donc sur la clé usb), ça ne dépasse pas 5/6 mo/s
Par contre, si je l'upload sur / le télécharge depuis le disque usb dont je me sers pour les backups, ça va à ~28 mo/s
Le fait d'avoir un disque séparé pour le système doit jouer un peu je pense.
Edit: en fait, pas sur... un collègue qui l'avait acheté en même que moi a aussi installé debian sur un disque usb et fait une 3è partoche pour les données, il est satisfait... (thomas si tu passes par la.... :ninja: )
Salut,
En effet, en montant un autre disque dur ne contenant pas le système d'exploitation (avec une seule partition NTFS), j'arrive à obtenir un taux de transfert de 22Mo/s avec une connexion directe PC/Dockstar en 1 Gbit/s.
C'est déjà beaucoup mieux même si on n'atteint pas encore le débit maximal de l'USB2.
Vais voir si je peux obtenir mieux avec une partition en ext3...
A+
Bonjour, le sujet date mais je vient d'aquerir ce bijou et quand j'ai fini de configurer samba il est impossible de se connecter au repertoire partagé "Impossible de monter le partage Windows"
j'ai installer le debian sur le disque dur seagate que l'ont peut acheter avec j'ai deux partition une de 512 pour le swap et l'autre de tout le reste en ext 2 merci
Fil des commentaires de ce billet
URL de rétrolien : https://blog.crifo.org/trackback/72