Jump to content
  • 0
father_mande

[INFO] droits Linux / samba / windows

Question

Bonjour,

Comme il y a toujours pas mal de messages concernant les droits des fichiers vu par linux / par Samba et par Windows ... voici quelques clefs pour comprendre ... sachant que dès qu l'on croit avoir compris ... on tombe sur un autre cas. Je pars du principe que vous avez déclaré vos utilisateurs et partages sur le Qnap.

1) LA RÉFÉRENCE DES RÉFÉRENCES, le site de samba et l'article en Anglais ci-après :

http://www.samba.org/samba/docs/man/Sam ... #id2613463

Bon ... c'est pas clair, je vais résumer.

A) lorsque vous partagez une ressources depuis un poste Windows (ou un client smb quelconque) la première chose à savoir c'est sous quel nom d'utilisateur vous serez vu par le Qnap, donc soit votre utilisateur Windows est aussi défini comme utilisateur Linux / samba du Qnap et donc vous êtes connu sous ce nom, soit vous êtes "guest" (utilisateur invité de Linux).

MAIS comment je le sais :?: : web admin / Administration du Système / Journaux / Journaux de connexion, vous devriez vous trouver après avoir effectué un partage (type samba voir colonne utilisateur).

B) Une fois connu votre utilisateur quelques règles :

.... Samba n'exécute aucun des fichiers qu'il partage.

.... Les droits serveur Windows sont : lecture, modification et contrôle complet .

.... Un fichier de plus peut avoir les attributs : archive, caché et système

.... Linux gère les droits au niveau utilisateur , groupes et autres

.... Samba gère ses propres droits au niveau DES PARTAGES pour les utilisateurs et groupes (smb.conf) MAIS c'est surtout utile pour savoir, indépendamment de ce qu'il y a dans chaque ressource partagée si l'utilisateur peut partager et en lecture seule ou écriture la ressources, c'est aussi utile pour la création des nouveaux fichiers. LE POINT IMPORTANT c'est que samba donne des droits au niveau du répertoire partagé (ressource) droit dont hérite les utilisateurs des sous-répertoire et fichier DONC un sous-répertoire AURA les droits hérités du répertoire partagé et pas les SIENS propres.

CONCLUSION : si vous voulez des droits au niveau d'un répertoire, il ne faut pas que le répetoire parent soit lui-même partagés avec d'autres droits.

1 PARTAGE = 1 RÉPERTOIRE = 1 GESTION POUR TOUT LE REP. DES DROITS.

C) linux

.... les droits sont r (lecture) w (écriture) x (exécution) X (exécution mais avec héritage du répertoire)

.... ces droits sont répartis en 3 fois 3 entités : rwx pour le propriétaire du fichier, pour les groupes du propriétaires et enfin pour les autres

DONC l'utilisateur connecté via partage Windows si il est le même que le propriétaire du fichier / répertoire alors on applique les droits du propriétaire

sinon ... on regarde si l'utilisateur connecté appartient au groupe du fichier / répertoire si oui on applique les règles groupe

sinon ... on applique les règles autres

exemple

fichier -rw-r----- user1 group1 (donc rw(read/write) pour user1, r(read) pour le group1, rien pour les autres.

le partage est demandé par user1:group2 .... il a les droits de lire ET écrire (on ne s'occupe pas du groupe)

le partage est demandé par user2:group1 .... il a le droit de lire puisqu'il fait parti du groupe group1 MAIS n'est pas user1

le partage est demandé par user3:group3/group2/group1 là c'est un utilisateur attaché a plusieurs groupes, bien que son groupe principal soit group3 comme il est aussi membre de group1 il aura le droit de lire.

le partage est demandé par guest:guest .... il n'a aucun droit. ..........OUF!

D) les équivalences Samba / Windows

r = lire; w = change; rw full control .

E) BON MAIS DANS TOUS CA ... et les fichiers cachés que je ne vois plus après upgrade (par exemple)

La, comme Samba n'utilise PAS le bit x (exécute) ... les petits malins l'ont utilisé pour représenter les bits : archive, caché et système.

A – Archive ***x****** utilise le x du propriétaire MAIS ne s'occupe pas du nom de celui-ci

S – System ******x*** utilise le x du groupe (idem s'en fou... du groupe réel)

H – Hidden *********x utilise le x des autres (other)

DONC si vous ne voyez plus vos fichiers

1) vérifier que vous n'êtes pas connecté en guest ou alors que les droits autres sont bien définis comme vous le voulez.

2) si vos fichiers sont cachés ... pour les faire réapparaitre, allez a la racine de chaque partage

ex. :

cd /share/Qmultimedia

là, changer les droits Linux comme suit

chmod -R a+rw . (ceci veut dire j'ajoute (+) r et w a : a = (proprio + groupe + autres) -R je balaye tous les fichiers et tous les sous-répertoires (personnellement je suis plus restrictif ... car je crois savoir ce que je fais :lol::roll: ) .

chmod -R a-x . (là j'enlève (-) le bit exécute pour tous, plus d'attributs archive, caché ou système, revoilou mes fichiers cachés visibles ...)

chmod -R g+X,o+X,u+x . (là plus sioux, je rajoute au group (g) et aux autres (o) un X qui leur donne l'héritage des droits de la racine ... donc je repasse la main a Samba et a ces propres droits (voir les fichiers, etc... etc...) ET je positionne le bit x de l'utilisateur, donc le bit d'archive, qui me sera nécessaire pour certain outils Windows de backup sélectif.

Si nécessaire (j'ai changé d'utilisateur Windows propriétaire ou j'ai crée de nouveaux groupes ....) je peux changer le nom du propriétaire et/ou du groupe.

ex. (c'est n'importe quoi c'est un exemple :D ) :

chown -R guest * (là je donne comme propriétaire de tous mes fichiers guest)

chgrp -R groupguest * (là le groupe propriétaire devient groupguest)

et si je suis faignant :

chown -R guest:grouguest * (qui fait les deux en une passe).

Voilà, bonne lecture :mrgreen::mrgreen::mrgreen:

Philippe.

NB toute correction (du contenu pas des fautes ...) sera appréciée.

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Et je me demande comment on fait pour cacher un répertoire à un user toto ?

Je demande cela pour ne pas voir afficher certains répertoire, plutôt dans le FTP. Mais j'imagine que les droits sont les memes que Samba.

Share this post


Link to post
Share on other sites
  • 0

Pour ma part sur Ubuntu 10.04LTS j'ai ajouté ce type de ligne dans etc/fstab (avec au préalable une ouverture de la console et "Sudo nautilus") :

//ipdunas:8080/nomdurépertoire /media/nomdurépertoire cifs uid=1000,gid=1000,file_mode=0750,dir_mode=0750,iocharset=utf8,username=admin,password=votremotdepasse 0 0

Faites un copier / coller de cette ligne et modifiez les informations en gras en fonction de votre cas.

Voilà c'est très simple et ça fonctionne sans problème. :D

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

J'ai quelques soucis avec mon QNAP et le lien avec un PopCorn Hour.

Il semble qu'il faille activer le compte guest pour que le popcorn arrive a utilisé le NAS QNAP.

Mes films sont dans un dossier /Qmultimedia/MOVIES/FILMS et j'ai créé un utilisateur A300/mdp auquel j'ai donné les droits R/W.

J'ai aussi donné dans Share Folders, les droits complets à Guest sur le dossier Qmultimedia. Mais ça ne fonctionne toujours pas.

COmment vérifier que mes fichiers dans le dossier /Qmultimedia/MOVIES/FILMS sont autorisé à Guest en R/W ?

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

ATTENTION, si vous n'utilisez pas les ACL Linux ... les droits sont ceux du partage le plus bas (Multimedia ou Qmultimedia) et non ceux du répertoire ...

Si votre matériel est ancien ARM TS-X09 ... pas d'ACL ... donc vérifiez les droits depuis la base Qmultimedia ... et en remontant sur chaque répertoire ...

Philippe.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×