Samba / droits fichiers

Samba / droits fichiers - Logiciels - Linux et OS Alternatifs

Marsh Posté le 15-01-2008 à 11:58:11    

Hello
 
J'ai des soucis à comprendre comment fonctionne Samba avec les mask de droits..
 
J'ai un partage avec les lignes suivantes :
directory mask = 0755
create mask = 0775
 
Mais ces lignes n'ont pas d'impacts sur les fichiers créés par les utilisateurs samba..
Quelle que soit la valeur du mask, ça ne change rien.. (je redémarre bien le service à chaque changement..)
Que faire ?

Reply

Marsh Posté le 15-01-2008 à 11:58:11   

Reply

Marsh Posté le 15-01-2008 à 14:06:46    

RTFM
 

Citation :


When  a  file is created, the necessary permissions are calculated according to the mapping from DOS modes to UNIX permissions, and the resulting UNIX mode is then bit-wise "AND"ed with this parameter. This parameter may be thought of as a bit-wise MASK for the UNIX modes of a file. Any bit not set here will be  removed  from the modes set on a file when it is created.
...
Note that this parameter does not apply to permissions set by Windows NT/2000 ACL editors.

Reply

Marsh Posté le 15-01-2008 à 14:13:36    

Merci..
 
Donc, si je comprends bien :
droit appliqué au fichier créé = droit unix && droit samba ?
 
Je ne comprends pas très bien la suite..
"Any bit not set here will be  removed  from the modes set on a file when it is created"
>> en réference au & logique ?
 
"does not apply to permissions set by Windows NT/2000 ACL editors"
>> Ce que je cherche à faire ne fonctionnera pas avec win2k/xp ?

Reply

Marsh Posté le 15-01-2008 à 23:04:48    

A l'aide je ne comprends rien !!
 
D'apres la doc de samba, il me semble que les parametres suivants entre en ligne de compte :
- les droits par defauts "dos to unix"
- la valeur de create mask
- la valeur de force create mask
 
il y a des ET, des OU et des OR dans tous les sens, c'est pas super bien expliqué, et surtout je ne comprend pas ou est stocke le umask par defaut utilise par samba...
 
j'ai des comptes specifique pour mes users samba "smb_user", sans home, donc pas de fichier de conf pour mettre un umask par defaut..

create mask (S)
 
    When a file is created, the necessary permissions are calculated according to the mapping from DOS modes to UNIX permissions, and the resulting UNIX mode is then bit-wise 'AND'ed with this parameter. This parameter may be thought of as a bit-wise MASK for the UNIX modes of a file. Any bit not set here will be removed from the modes set on a file when it is created.
 
    The default value of this parameter removes the group and other write and execute bits from the UNIX modes.
 
    Following this Samba will bit-wise 'OR' the UNIX mode created from this parameter with the value of the force create mode parameter which is set to 000 by default.
 
    This parameter does not affect directory masks. See the parameter directory mask for details.
 
    Note that this parameter does not apply to permissions set by Windows NT/2000 ACL editors. If the administrator wishes to enforce a mask on access control lists also, they need to set the security mask.
 
    Default: create mask = 0744
 
    Example: create mask = 0775


 

force create mode (S)
 
    This parameter specifies a set of UNIX mode bit permissions that will always be set on a file created by Samba. This is done by bitwise 'OR'ing these bits onto the mode bits of a file that is being created or having its permissions changed. The default for this parameter is (in octal) 000. The modes in this parameter are bitwise 'OR'ed onto the file mode after the mask set in the create mask parameter is applied.
 
    The example below would force all created files to have read and execute permissions set for 'group' and 'other' as well as the read/write/execute bits set for the 'user'.
 
    Default: force create mode = 000
 
    Example: force create mode = 0755


Bref, quelque comprend t'il ce biz ? :)
 
http://us5.samba.org/samba/docs/ma [...] onf.5.html

Reply

Marsh Posté le 16-01-2008 à 08:29:37    

alors, pour les non anglophones ...
 
Droits que veut poser Windows
=> droits Unix (conversion automatique par Samba)
=> application du masque "create mask", par un ET logique
(donc les droits non définis par la valeur de create mask, ne seront JAMAIS mis sur les fichiers créés par samba)
=> application de "force create mode" par un OU
(donc les droits de la valeur force create mode seront OBLIGATOIREMENT mis sur les fichiers créés)
 
Attention : l'application du ET "create mask" ne marche PAS avec les droits définis par Windows 2k/XP

Reply

Marsh Posté le 16-01-2008 à 09:55:59    

Merci pr tes réponses..
Je comprends a peu près la doc, mais.. l'application sur mon serveur est illogique, j'essaye de comprendre d'ou vient ma lacune..
 

fighting_falcon a écrit :


Attention : l'application du ET "create mask" ne marche PAS avec les droits définis par Windows 2k/XP


 
-> Donc inutile de définir un create mask si les partages sont utilisés par des windows ?
 
-> Le force create mode suffira à appliquer des droits particuliers ?
 
-> Les droits unix, convertis par Samba.. D'ou proviennent ils à la base ?
 
 
..Merci..

Reply

Marsh Posté le 16-01-2008 à 10:38:12    

Citation :


-> Donc inutile de définir un create mask si les partages sont utilisés par des windows ?


C'est ce que j'en déduis aussi ...
 

Citation :


-> Le force create mode suffira à appliquer des droits particuliers ?


Disons qu'avec force create, tu es sur que les fichiers créés auront AU MOINS les droits spécifiés par force create.
Après les clients Windows peuvent vouloir en mettre plus ...
 

Citation :


-> Les droits unix, convertis par Samba.. D'ou proviennent ils à la base ?


Codé en dur dans le code de samba je suppose ...
C'est ce qui fait que sous Windows "Modification" devient "w" sous Linux, "Lecture" devient "r" ...

Reply

Marsh Posté le 19-01-2008 à 19:19:39    

J'ai réussi à mettre en place a peu près ce que je voulais..
En utilisant "force create mode" (sans mettre create mask)
 
Les droits samba sont capricieux...
Pas moyen que les fichiers soient créés en 750, je n'arrive pas a depasser le 755.. Mais bon, ca ira.

Reply

Marsh Posté le 10-02-2013 à 18:18:44    

j'avais le même problème, mais là je pense avoir trouvé :
 
security mask = 0775
create mask = 0775  
directory mask = 0775
 
La première ligne change l'umask par défaut (qui doit être à 0755); ca permet donc ensuite de donner des droits d'accès au groupe en lecture /ecriture.
 
Voila donc ma section partage au complet pour exemple :
 
[homes]
   comment = Repertoire personnel
   browseable = no
   read only = no
   security mask = 0775
   create mask = 0700
   directory mask = 0700
 
[Mes Documents réseau]
   comment = Serveur fichier perso
   path = /srv/samba
   browsable = yes
   guest ok = no
   valid users = @sambashare
   security mask = 0775
   read only = yes #pas de modif pour les utilisateurs non enregistres
   write list = @sambashare #ecriture pour les seuls users du groupe sambashare
   create mask = 0775 #masque de creation des fichiers par defaut r+w pour user et group r seul pour autres...on pourrait mettre 0770
   directory mask = 0775 # idem pour les repertoires
   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed