samba : ne lister que les partages accessible pour l'utilisateur ? - Logiciels - Linux et OS Alternatifs
Marsh Posté le 22-11-2011 à 18:58:30
En googlant je suis tombé là-dessus, mais j'ai pas trop pigé l'astuce mais pas sûr que ça réponde à tes besoins.
Tel que je le comprend :
A- tu définis tes utilisateurs (toto, tata, titi,...)
B- Optionnel ! c'est uniquement pour avoir un seul dossier /repertoire/source/samba que tu pourras sauvegarder.
Sinon mets les droits pour tes users et crées autant de dossiers que d'utilisateurs.
Tu crées autant de dossiers cibles que de dossiers sources, et tu fais des liens depuis ton partage originel :
Citation : ln -s /repertoire/source/samba/dossier/toto /repertoire/utilisateur/toto |
Citation : ln -s /repertoire/source/samba/dossier/tata /repertoire/utilisateur/tata |
C- dans ton /etc/samba/smb.conf, dans la section [global] tu supprimes toute trace de ton partage "samba" et tu ajoutes un
Citation : include=/etc/samba/smb.conf.%U |
D- tu crées autant de fichiers que d'utilisateurs s'appelant :
smb.conf.toto pour l'utilisateur toto
smb.conf.tata pour l'utilisateur tata
...
Dans ces fichiers tu auras :
Citation : [samba] |
Citation : [samba] |
D- enfin tu te connectes avec ton utilisateur toto sur ton partage "samba", qui sur le serveur ira sur le dossier /repertoire/utilisateur/toto, qui par lien pointera finalement bien vers ton /repertoire/source/..
C'est un peu lourd, mais en regardant (rapidement) la doc de samba je n'ai rien vu d'autre
Marsh Posté le 23-11-2011 à 12:45:01
J'etais persuadé que ca marchait avec l'option browseable mais ce n'est pas le cas, ca fonctionne uniquement pour les repertoires home. Ceci dit, c'est parametrable par partage.
Pourquoi vouloir cacher a tous prix les repertoires non accessibles ? Si l'utilisateur n'est pas membre du groupe, il ne peut donc pas y acceder.
A defaut, cacher les repertoires avec browseable, et donné aux personnes concernés le lien direct ?
Marsh Posté le 23-11-2011 à 12:46:36
merci,
j'avais en effet déja trouvé une solution qui jouait avec le include et par utilisateurs.
problème c'est que j'ai utiliser les groupes pour définir les droits et qu'avec les % on ne peut sortir que le group primaire, et vu que mes utilisateurs sont membres de plusieurs groupes
Marsh Posté le 23-11-2011 à 12:49:53
alors pourquoi les cacher, simplement pour alléger la vue (il y'a une 20aine de share) pour les utilisateur "lambda", c'est vrai que c'est plus esthétique qu'autre chose
comme pour les lien directe, il y'en plusieurs pour chaque user et c'est lourd a gérer et mettre en place
Marsh Posté le 23-11-2011 à 18:21:12
Intéressé aussi par la question, je n'avais pas trouvé d'autres options dans samba avec comme réponse des services informatiques au dessus de moi :
kisscoolz a écrit : Pourquoi vouloir cacher a tous prix les repertoires non accessibles ? Si l'utilisateur n'est pas membre du groupe, il ne peut donc pas y acceder. |
Ok, cqfd on affiche directement la trentaine de dossiers (chacun correspondant à un service), et vogue la galère
kisscoolz a écrit : A defaut, cacher les repertoires avec browseable, et donné aux personnes concernés le lien direct ? |
C'est comme si tu avais directement dans tes documents tes images, ta musique, tes factures,... et aucun sous-dossier. Ce n'est pas très propre tu en conviendras.
Après il y a une autre solution, au lieu de partir côté serveur, voir pour monter côté client que les dossiers nécessaires.
Par exemple (sous Windows) :
Citation : net use z: //NomServeur_ou_ip/SAMBA/dossier_toto/ |
A coup de tests d'utilisateur appartenant à tel ou tel groupe (voir ici), ça peut se faire.
Par contre si tes clients sont du Linux aussi, je suis intéressé par un retour
Marsh Posté le 24-11-2011 à 10:31:07
ouaip, mais le problème c'est que mes user ne sont pas dans un domaine
pour linux j'ai l'impression que ça marchait, avec 770 comme droit sur la share, lorsque je fait un ls en tant qu'utilisateur samba je ne voit que les share sur les quelles j'ai le x (donc du groupe). c'est juste les clients windows qui comprennent pas le x du dossier
Marsh Posté le 27-11-2011 à 16:04:22
browseable + stratégie qui monte automatiquement les partages sur les postes des utilisateurs. Les utilisateurs se contrefichent de pouvoir lister les partages accessibles, du moment qu'ils y accèdent
Marsh Posté le 27-11-2011 à 17:21:38
e_esprit a écrit : browseable + stratégie qui monte automatiquement les partages sur les postes des utilisateurs. Les utilisateurs se contrefichent de pouvoir lister les partages accessibles, du moment qu'ils y accèdent |
Son soucis (et je le comprend bien car étant dans le même cas ) consiste à ne pas afficher les dossiers auxquels les utilisateurs n'ont pas à avoir accès, en plus d'avoir un ACL bloquant tout accès à ces répertoires.
Après si effectivement il n'y a pas possibilité de tester par membre, ça va bloquer à ce niveau
Marsh Posté le 27-11-2011 à 17:30:26
Nan mais j'avais bien compris
Je dis justement que chercher une solution pour ne leur afficher que ce que à quoi ils ont accès, c'est se prendre le chou pour rien, ils s'en cognent
Donc tous les partage en browseable = no et pis basta
Marsh Posté le 27-11-2011 à 17:49:24
Quand tu as 2, 3 ou 10 dossiers à la racine de ton partage, ok c'est valable.
Quand tu en as 30 (chez moi) ou même 20 (chez unite_01), tu fais comment ?
Marsh Posté le 27-11-2011 à 18:15:25
Il dit qu'il voit pas le problème
Marsh Posté le 27-11-2011 à 21:24:41
unite_01 a écrit : alors pourquoi les cacher, simplement pour alléger la vue (il y'a une 20aine de share) pour les utilisateur "lambda", c'est vrai que c'est plus esthétique qu'autre chose |
C'est tout
Et étant dans le même cas, je suis intéressé par un retour sur une solution de ce genre (ne pouvant pas vraiment tester sur ma prod )
Marsh Posté le 28-11-2011 à 09:59:55
oui, le but étant de dire à mes users lambda : va sur \\sambaserver et ensuite ils n'ont qu'a naviguer vers la share correspondante sans qu'ils aillent à faire le tri entre 36 share alors qu'ils ne peuvent en accéder que 2 ou 3
Marsh Posté le 28-11-2011 à 10:03:40
La façon correcte de procéder, c'est que tes users lambda n'aient pas à se connecter sur \\sambaserver, mais que les partages auxquels ils ont accès soient automatiquement disponibles depuis leur système
Marsh Posté le 28-11-2011 à 13:08:29
D'où mes propositions faîtes auparavant mais :
- sur samba : le montage par groupe n'est pas faisable car ses users sont dans plusieurs groupes
- sur ses clients : unite_01 ne travaille pas dans un domaine
What else ?
Marsh Posté le 28-11-2011 à 15:16:48
vivement samba 4 hein ?
Marsh Posté le 28-11-2011 à 17:46:38
bardiel a écrit : D'où mes propositions faîtes auparavant mais : |
Avec un logon.bat goupillé bien comme il faut, je vois pas où est le probleme. Je suis dans ce cas de figure sauf que je suis dans un domaine. Avec une gestion des dossier par groupe, j'ai les utilisateurs qui sont dans plusieurs groupes, et tous les dossiers se montent dans le poste de travail au lancement de la session.
bardiel a écrit : D'où mes propositions faîtes auparavant mais : |
De mémoire, il me semble que l'on peut mettre un logon.bat local a chaque machine, donc c'est réalisable. Simplement, si modifs y'a a faire, tous les pcs faut passer dessus
unite_01 a écrit : vivement samba 4 hein ? |
Je crois que les poules auront vraiment des dents avant qu'il ne sorte celui la (je parle en version finale et utilisable, hein ! ).
Marsh Posté le 28-11-2011 à 18:01:46
Comme je le comprend, ses users sont sur plusieurs groupes marqués dans le serveur, donc comment tu fais un test de groupe si tu ne peux tester dans quel groupe tu es depuis ta machine ?
Dans un domaine, c'est par rapport à ton identification sur le domaine que tu peux accéder à tel ou tel partage
Attention, unite_01 ne travaille pas dans un domaine (3ème fois que c'est dit )
Citation : ouaip, mais le problème c'est que mes user ne sont pas dans un domaine |
Marsh Posté le 28-11-2011 à 18:42:59
Bah qu'il commence par remettre cette gestion à plat avant de vouloir faire des améliorations esthétiques
Marsh Posté le 28-11-2011 à 19:43:57
Hmm, à plat ?
Alors qu'il s'agit juste d'améliorer le comportement de base de Samba ?
e_esprit, il me semble que tu sembles prôner le choix de la solution de facilité "go pour un domaine"... or bon nombre d'entreprise (ou même de particulier avec pas mal de partage et quelques utilisateurs ) ne fonctionne pas en domaine.
Sur ce je ne vais pas me "bagarrer" plus pour unite_01, mais bon là (où j'avoue cela dépasse mes compétences, malgré 2 propositions) c'est light comme réponse
Marsh Posté le 28-11-2011 à 20:35:48
bardiel a écrit : Hmm, à plat ? |
C'est pas du tout l'impression que j'ai
C'est beaucoup de travail à mettre en place. Par contre derrière il aura quelque chose de plus carré.
Marsh Posté le 28-11-2011 à 21:30:59
bardiel a écrit : Comme je le comprend, ses users sont sur plusieurs groupes marqués dans le serveur, donc comment tu fais un test de groupe si tu ne peux tester dans quel groupe tu es depuis ta machine ?
|
J'ai bien compris qu'il n'etait pas dans un domaine, simplement je reagissais sur la gestion multigroupe dans le logon
A coté de ca, avec le logon.bat local, il peut très bien faire ces tests avec l'utilisateur et plus le groupe. Par exemple :
if %username% == user1 (
net use x: \\serveur\partage1
net use y: \\serveur\partage2
)
if %username == user2 (
net use x: \\serveur\partage1
net use y: \\serveur\partage3
)
Apres c'est juste la gestion du logon.bat qui devient fastidieuse.
Marsh Posté le 28-11-2011 à 23:25:08
Mouais, c'est pas propre comme méthode.
De plus ça t'oblige à modifier le script à chaque arrivée/départ de personnel, sur toutes les machines.
Marsh Posté le 29-11-2011 à 10:10:56
C'est pas faut. La methode n'est peut être pas propre mais le resultat au final l'est assez. Ca se rapproche assez de ce qu'il recherche, n'avoir que les dossiers accessible de visible (directement dans la poste de travail et plus dans \\serveur).
Il reste le point du deploiement du logon.bat sur toutes les machines. La aussi avec les outils qui vont bien et le script adapté c'est fesable. Reste a savoir ce qu'il peut faire et ce qu'il veut faire au final.
Sinon, la solution la plus propre, ca reste quand meme le domaine dans ce cas de figure. C'est un peu plus long a mettre en place, mais c'est beaucoup plus simple a gérer par la suite.
Marsh Posté le 29-11-2011 à 20:25:02
je suis pleinement d'accord, mais on ne veut pas (pour le moment entoucas) investir dans une licence windows server (ong, peu de moyen toucatouca)
j'ai essayer samba en PDC et il y a, d'après ce que j'ai lut, trop de problème avec des client xp/vista/seven et il manque pas mal d'outil qui font que je n'ai pas envie de mettre samba, comme il est, en pdc .. peut etre quand la version 4 sortira
après ya pas vraiment raison de se baggarer si samba n'a pas été fait pour passer les droit de "ls" ou "dir" pour les dossier à des client windows c'est comme ca
Marsh Posté le 29-11-2011 à 21:53:00
Samba en PDC, pour de l'XP ça passe sans trop de soucis, Vista ça peut aller, mais 7 c'est un peu la catastrophe
Après ta question est tout à fait légitime, car il existe la même fonction sur Windows Serveur pour n'afficher que selon l'utilisateur (voir ici).
Marsh Posté le 30-11-2011 à 10:58:43
Je suis pas sûr parce que j'ai pas de vista/7 pour le moment sur le domaine, mais je crois que ce qui pose probleme c'est la remonté/descente des profils itinerants avec ces versions la de windows.
Il y a toujours la possibilité de ne gerer que les compte sur le domaine samba et de desactiver les profils itinérants.
Sous réserve de vérification bien sur, mais ca peut être une piste à explorer.
Marsh Posté le 30-11-2011 à 11:09:16
oui c'est en effet "le" point noir, et vu qu'on a un mix de xp vista seven sur nos client et que les profil itinérant sont très intéressant pour nous il faut que ça marche sans problèmes.
Marsh Posté le 22-11-2011 à 15:38:33
hello,
j'ai un serveur samba (debian lenny) qui à différent partages, accessible à différent groupes
j'aimerai que lorsqu'un utilisateur fait \\samba sous windows, il ne voie que les partages sur les quel il a le droit de lecture (ou rw) via les groupes dont il est membre
j'ai pas mal googler mais rien de concluant
j'ai essayer
browseable = no, mais la ça planque toutes les partages
hide unreadable = yes, mais ça ne marche pas pour ce que je veux (que les fichier à l’intérieur du partage)
des idée ?
merci
---------------
La Paix Est Le But La Trance Est Le Chemin www.tranceonline.ch