[RESOLU] Serveur de fichiers - samba & droits

Hello,

J’avais un serveur de fichier Windows, j’ai decidé de le remplacer egalement par Debian…

J’ai installé sambaserver dessus, c’est ce qui est preconisé sur le net… (mais si quelqu’un connait de meilleures methodes (surtout secure) pour faire un serveur de partage de fichier, je suis preneur, par exemple j’ai vu NFS, etc…) Car à la maison il y aura uniquement des machines en logiciel libre (je n’exclue pas quelques devices futurs sous d’autres OS…)

Bref, j’ai edité le fichier smb.conf comme ceci (coté serveur);
J’ai linké ici que ce que j’ai ajouté, le reste est par defaut.

[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
   workgroup = StarWars
   server string =%h server

[HOTH_SHARE]

path = /common
comment = common
browseable = yes
read only = no
writable = yes
valid users = user1, user2
guest ok = no

Le compte user1 (& user2) est bien créé et actif sur le serveur, le repertoire common est à la racine avec des droits 777 dessus…

j’ai aussi mis les user dans:

Coté client, je lance:

Un password m’est demandé, je le tape… Mais ensuite:

Domain=[STARWARS] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian] tree connect failed: NT_STATUS_BAD_NETWORK_NAME
Je ne comprends pas pourquoi on voit "OS=[Windows 6.1] " et ce retour “ree connect failed: NT_STATUS_BAD_NETWORK_NAME”, c’est un debian pas un windows …

Et dans /var/log/samba/ , je vois :

[2017/05/20 19:35:03.091015, 0] ../source3/param/loadparm.c:3244(process_usershare_file) process_usershare_file: stat of /var/lib/samba/usershares/common failed. No such file or directory
Genre le repertoire n’existe pas… Peut etre la definition de mon chemin qui ne va pas?

Quelqu’un aurait une idée?

merci.

Je precise:
MULTI POSTAGE sur debian-fr.xyz & DF
(si j’ai une reponse sur l’un des 3, j’edite les autres bien entendu)

d33p

1 J'aime

Et quand j’essaie avec konqueror par exemple, il me laisse entrer sur le serveur, me montre le repertoire common:

Sur le coup, je me dis “waw, genial” et en fait lorsque je veux créer un repertoire dans common pour tester:

ça n’existe pas…

C’est super louche non?
Le repertoire existe, j’ai changé les droits, le chemin que je donne semble bon (soit via hostname soit via ip) et il existe mais n’existe pas…
je suis un peu troublé…

edit:

j’ai refait un essai avec un autre chemin de repertoire à partager, mais j’ai le meme message d’erreur…

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian] tree connect failed: NT_STATUS_BAD_NETWORK_NAME

d33p

petit add:
j’ai fait un autre test d’une machine ubuntu (coté client), je peux acceder au share, donc la config coté serveur semblerait bonne?
Mais sous debian, ça bloque…

Bonjour d33p

Je me suis permis de modifier le titre de ce fil de discussion de

Server de fichiers

en

serveur de fichiers samba


Désolé de ne pourvoir t’aider : je n’utilise pas samba

Hello,

aucun souci, je ne l’avais pas implementé dans le titre, car, en fait,
la je teste samba, mais je suis open s’il y a d’autres choses plus
viables entre systemes linux. c’est pourquoi j’avais laissé generique…

merci.

d33p

Alors effectivement, excuse-moi d’avoir pris cette initiative
qui était basée sur mon interprétation des quelques messages qui débutaient ce fil.

Je remets donc le titre de ce fil comme il était
je pense que tu auras d’autres propositions que samba pour mettre en place ton serveur de fichiers.

Il te faudrait peut-être définir le type de fichiers que tu comptes mettre sur ce serveur,
le type d’applications “clients” qui devront pouvoir se connecter à ce serveur,
le type d’accès (réseau local connecté par RJ45, par WiFi, ou autre, par le web, derrière une Box ou depuis une machine virtuelle chez un hébergeur…)
et beaucoup d’autres aspects (comme la sécurité, intégrité, etc…)
en fonction du contexte côté serveur comme client.

En bref : définir les besoins.

Bonjour,
il est aussi possible de passer par ssh en le précisant dans la bar de navigation de l’explorateur de fichier (dépendant du serveur utilisé).

il existe aussi sshfs qui est sympa comme montage de fichier au travers de ssh. Utilisable aussi pour un ordi portable en local et distance

Hello grigric,
merci de t’etre penché sur l’affaire.
mais entre temps je me suis penché sur samba et les acl…
(pour les partages que j’aimerais faire c’est entre plusieurs utilisateurs de la maison, dont des enfants, je ne suis pas sur que ce soit cool avec ssh?)

sinon, voici ou j’en suis:

j’ai un peu avancé, ou reculé, à voir…

coté serveur:

le fstab pour monter le volume au demarrage: (j’imagine qu’il faut le faire en cas de redemarrage du serveur)

attribution des acl sur le repertoire que je veux partager:
/media/server_user/share_1/
-> acl definis sur share_1 avec setfacl -Rm d:u:user1:r share_1

le fichier smb.conf:

[global]

  workgroup = WORKGROUP
  netbios name = HOTH
  server string = %h server
  security = user
  encrypt passwords = true
  vfs objects = acl_xattr
  map acl inherit = yes
  store dos attributes = yes

[share_1]

path = /media/server_user/share_1/
comment = share_1
browseable = yes
read only = no
writable = yes
inherit acls = yes
valid user = user1
guest ok = no

j’ai fait un smbpasswd -a user1

coté client:

le fstab

  • la creation des points de montage dans /media/user1, puis un chown -D user1 share_1

apres des restart de service de machine etc… je n’ai toujours pas acces à mes shares…

de dolphin:

An error occurred while accessing 'photos on 192.168.2.6', the system responded: Retrying with upper case share name mount error(6): No such device or address Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

de konqueror
il voit share_1, me demande un user + mot de passe, j’encode alors celui que j’avais entré coté serveur avec smbpasswd… et rien, impossible d’entrer dans le share…

J’espere que ce n’est pas trop confus, si quelqu’un a des idées pour m’aider à avancer, ce serait super.
J’ai peut etre loupé un truc…

merci

d33p

Apres quelques jours d’affilés de tests, d’arrachage de cheveux car des choses completement irrationnelles se produisaient… j’ai une tres grosse piste.
En fait, en appliquant strictement les memes parametres à des repertoires distants, j’avais des resultats tout à fait aleatoire quant au montage coté client…
Sur mon ancien serveur Windows j’avais parametré de façon assez fine les droits NTFS, le souci semble venir de là, meme en faisant des:

chown -R etc... des chmod -R 777 etc... ou en jouant avec les acls setfacl -RM d:u:user:rwx folder certains repertoires ou fichiers reagissaient d’une maniere et d’autres d’une autre maniere…
Lorsque j’ai recréé une arborescence vierge complete, et, que j’ai copié / collé les fichiers (presque un par un, c’est tres long), appliqué les droits de la meme maniere, c’est à dire presque par fichier… ça semble coller…
J’espere que ça en aidera certains qui seront peut être dans le meme cas de figure… c’est à dire des droits appliqués de façon un peu aleatoire apres une migration NTFS vers ext4 par exemple…

Je mets ce poste en resolu, de toute façon, il n’avait aucun succes. peut etre trop bete ou mal posé, desolé…

merci grigric pour la participation.

merci.

d33p

voici la suite de l’histoire :stuck_out_tongue:

->
je suis en train de regarder s’il n’y a pas un moyen de forcer reellement ces commandes, le recursif doit avoir un souci ou peut etre des options que je n’ai pas encore sous la main:
(car x repertoires “enfants” en dessous, il y a des restes des anciens droits ntfs)

sinon, si je ne trouve pas, j’ai un plan B, tout migrer sur un partition fat, avec de la chance, les fichiers vont perdre leurs anciens “restes” de droits ntfs et ensuite les repasser sur ext4 et remettre d’aplomb les nouveaux droits à l’aide d’acl…
bref, je posterais selon l’evolution.

d33p

Merci d33p.

Je viens de trouver ton post.
Je ne comprends pas pourquoi après avoir copié tes fichiers vers ta partition ext4 puis avec des chown -R… et chmod -R … il devrait rester des traces de NTFS :thinking:

Je suppose que tu effectues ces manipulations en root.

En revanche, sur mon serveur Samba, je n’utilise pas les ACL.
Il faut bien se rendre compte que les ACL sont une “quatrième couche” à gérer.

  • Il faut en premier lieu que les utilisateurs soit créés pour Linux
  • Il faut en second lieu que les répertoires soient créés avec les bons droits de possession et d’accès pour les utilisateurs Linux (ici, on fait déjà de la sécurité et de la sélection potentielle des utilisateurs sur un répertoire)
  • Il faut en troisième lieu créer les utilisateurs Samba (qui matchent/correspondent/ressemblent aux utilisateurs Linux)
  • Il faut en quatrième lieu créer les répertoires inhérents à chaque utilisateur Samba (qui matchent ceux créés auparavant)

Cela fait beaucoup de choses avant d’ajouter des ACL…

J’ai eu beaucoup de soucis pour faire fonctionner mes premiers serveurs Samba. BEAUCOUP. J’avais comme toi une culture Windows plus prononcée que pour Linux.

Ce qui a payé pour moi, c’est de partir avec des outils simples et des configurations “clés en main” de Samba. Et de là, patiemment, en modifiant un paramètre après l’autre, on voit si tout fonctionne au redémarrage du serveur. Je conviens que c’est empirique. Mais mon dernier serveur Samba possède un RAID 8To qui tourne sous Debian 8. C’est une véritable horloge suisse et mes droits sont respectés sans l’usage des ACL.

Il existe un outil qui pourrait t’apporter un début de réponse. Je ne dis pas que c’est LA méthode. Mais dans mon cas, après des jours de balbutiements, cela m’a aidé. Et maintenant je peux faire sans. Ce paquet s’appelle system-config-samba

Ce paquet n’est pas dans la librairie Debian car il fonctionne à l’origine pour Ubuntu.
Tu l’installes sur ton serveur et tu crées tes users Samba (et leurs répertoires respectifs) via son truchement.
Libre à toi ensuite de regarder ce qu’il a modifié dans le smb.conf (que je te conseille temporairement de remettre au plus près de l’origine délivrée par le paquet Samba)

On doit pouvoir trouver ce paquet sur l’un des deux sites suivants
https://launchpad.net/ubuntu/+source/system-config-samba
http://archive.ubuntu.com/ubuntu/pool/universe/s/system-config-samba/

Tu installes le paquet téléchargé avec
dpkg -i system-config-samba.version.......deb

Il te faudra peut-être relancer un
apt install samba mais je ne suis plus certain (désolé)

En revanche, tu auras une erreur de dépendance à résoudre avec
apt-get install -f

En essayant de lancer system-config-samba, il restera une erreur car le fichier /etc/libuser.conf est manquant.
Il te suffira de faire en root un touch /etc/libuser.conf pour la résoudre.

De là, tu pourras lancer system-config-samba et faire quelques tests.

Je ne peux pas te dire grand chose des ACL. C’est sans doute un outil intéressant. Je ne les utilise pas.
Mais je te déconseille fortement de les utiliser pour créer ta configuration Samba dès le début.
Les ACL n’ont jamais été nécessaires à Samba. Faire un Samba qui marche sans ACL doit être ton premier but.

Ensuite, jouer avec les ACL si tu trouves cela nécessaire est envisageable.
Je n’exclue pas que l’application de tes ACL ne soit pas bonne ou mal interprétée par le système et par Samba. Si après des chown et chroot il te reste des comportements arbitraires dans la gestion des droits, elles pourraient en être les créatrices.

Bon courage et tiens-nous au courant :slight_smile:

Yo,

Mélanger “chmod” et “setfacl” est une mauvaise chose.
Si tu as des ACLs , alors n’utilise que “setfacl” et ses amis.
Si tu n’en a pas, alors utilise “chmod”.

Parce qu’a partir du moment où tu utilises les ACLs, les droits “group” et “other” (vu par chmod) ne sont que des resultats de calcul/mask sur les ACLs.

En utilisant “chmod” par “dessus” les ACLs, tu “casses” des trucs, et parfois ça peut planter des logiciels (au niveau des librairies ACLs).

A+

Hello,

Je vous remercie pour ces reponses.
Je me suis lancé en parallele sur NFS car on m’a dit que c’etait naze d’utiliser samba entre deux machines Linux… Sincerement, je ne peux pas le dire car etant encore relativement novice… De plus, je stagnais un peu avec samba depuis quelques jours…

Car au final, je me suis lancé dans Samba, mais ce n’est peut etre pas optimisé entre 2 machines Linux? Avant, je n’avais pas trop le choix ayant un reseau mixte…
(avec samba je voulais toucher aux acl, car, à la maison, on a 4 profils, avec des droits differents sur chaque repertoire, sous Windows c’etait simple “clic clic”, mais là, je galere :stuck_out_tongue: )

Mais avec NFS, j’ai aussi un plan lose :stuck_out_tongue:
J’hesite à dire, si je suis maudit ou trop “C…” :smiley:
https://debian-facile.org/viewtopic.php?pid=225375#p225375

Vous en pensez quoi?

merci,

d33p

Hello,

je suis passé sous NFS…
le probleme dont je parlais plus haut est resolu, j’ai testé & implementé plusieurs autres attributs et ça a fonctionné:

ici le

merci à tous pour la participation.

d33p