Question Conservez les autorisations sur les fichiers partagés samba lors du remplacement


J'ai un répertoire partagé sur ma machine virtuelle Ubuntu. Ceci est mon smb.conf:

...
[share]
comment = Ubuntu File Server Share
path = /home/foo/share
browsable = yes
guest ok = yes
read only = no
create mask = 0644

Presque tout fonctionne bien, c.-à-d. Quand un nouveau fichier est créé, il est masqué 0644. Mais aussi chaque fois que j'ouvre (sous Windows) et enregistre un fichier existant, les autorisations de ce fichier sont également définies sur 0644. C'est assez ennuyeux lors de l'édition de scripts, auparavant masqués 0755 ou 777.

Est-il possible de garder Samba existant masques d'autorisation lorsque les fichiers sont écrasés?
[edit] ... en créant Nouveau fichiers avec des permissions 0644


4
2018-05-23 10:50


origine


J'ai le même problème et c'est très ennuyeux. Avez-vous trouvé une solution? - Daniel Standage
@DanielStandage Non, je n'ai pas. Pour contourner ce problème, j'ai un script qui continue à corriger les indicateurs exécutables: / - user123444555621


Réponses:


ajouter:

map archive = no

à la [Share]. La valeur par défaut (yes) définit le bit d’exécution sur pratiquement tout ce que vous enregistrez. Si vous choisissez non, vous pouvez laisser votre masque de création défini sur 755 ou autre.

Je trouve cela essentiel si vous éditez de nombreux fichiers système tels que / etc / mail / aliases, qui ne pourront pas être compilés avec le bit d’exécution défini.

o) Cor


7
2018-06-09 22:08



Merci, bonne idée! Malheureusement, il ne fonctionne pas comme prévu sur ma machine (Win7 avec Ubuntu 12.04). Tous les bits sont réinitialisés lorsque je remplace un fichier. - user123444555621
Cela fonctionne très bien sur Windows 10 via VMWare sur mon devbox Ubuntu, les nouveaux fichiers obtiennent les autorisations de création de masque et les fichiers existants ne sont pas touchés. Je dois ajouter force user et force group à [share] dans smb.conf car mes utilisateurs ne sont pas les mêmes. - WoodyDRN


Pour empêcher Samba de réinitialiser les autorisations d'un fichier lorsqu'un fichier est enregistré via Samba, définissez le paramètre suivant dans smb.conf:

nt acl support = no

Cela empêche Samba de tenter de mapper les autorisations UNIX sur la liste de contrôle d'accès Windows.


2
2018-02-02 08:35





Je pense que si vous définissez votre compte invité samba comme étant un compte qui écrirait normalement des fichiers avec 775 autorisations, vous devriez être prêt à partir.

[global]
guest account = [unix user]

Ou vous pouvez créer un utilisateur de samba identique à votre utilisateur sur Ubuntu qui dispose de 755 autorisations (chaque utilisateur de samba doit correspondre à un utilisateur UNIX), puis accéder au partage samba en se connectant en tant qu'utilisateur.

user@ubuntu$ ~ sudo smbpasswd -a [username]

1
2018-05-22 02:24



Je ne vois pas comment cela résout mon problème. Je me demandais comment s'assurer que les autorisations existantes ne sont pas modifiées. - user123444555621
Si votre utilisateur Unix / Linux écrit des fichiers au format 755 et que vous vous connectez au serveur Samba en tant qu'utilisateur Unix / Linux, les fichiers que vous créez / modifiez doivent en principe être écrits avec les autorisations 755. Avez-vous essayé cela? - jason
@ Pumbaa80 Je vois que vous essayez de pirater Linux et Samba pour gérer les autorisations. Vous voudrez probablement examiner les ACL. Avec eux, vous devriez pouvoir définir des masques d'autorisation par utilisateur. Ainsi, vous vous connectez à samba avec l'utilisateur A et lisez / écrivez avec les autorisations 755, et en tant qu'utilisateur B lisez / écrivez avec 644. - jason
Je ne vois pas comment cela résout mon problème. Je me demandais comment s'assurer que les autorisations existantes ne sont pas modifiées. - user123444555621


J'utilise samba pour partager entre Windows et Kubuntu, sauf sur mon système Linux est l'hôte, pas la VM. Pour ma configuration, j'ai défini les noms d'utilisateur des deux systèmes, puis défini valid users dans smb.conf à mon nom d'utilisateur. Je n'ai pas de create mask paramètre et les autorisations fonctionnent correctement.

[shared]
comment = My Shared Partition
path = /mnt/shared/
browseable = yes
available = yes
read only = no
guest ok = no
valid users = my_user_name

0
2018-05-23 11:58



Mais qu'est-ce que cela signifie pour les fichiers nouvellement créés? - user123444555621
Étant donné que les noms de profil utilisateur correspondent, tous les nouveaux fichiers sont créés avec l'utilisateur et le groupe principal du nom du compte hôte, avec les autorisations suivantes: -rwx ------ - Tom