GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Je n'arrive pas à obtenir que Samba définisse les autorisations appropriées sur les répertoires créés ?

J'ai un serveur ubuntu partageant des dossiers en utilisant samba. Lorsqu'un client crée un nouveau dossier ou fichier, les autorisations ne sont pas définies en fonction des paramètres de smb.conf.

Mes paramètres actuels pour un partage spécifique :

[share]
    path = /mnt/share
    browsable = yes
    guest ok = no
    writable = yes
    read only = no
    create mask = 0774
    directory mask = 0774
    write list = netuser

Lorsqu'un client samba (une boîte Windows 7) utilise le compte "netuser" pour créer un fichier ou un répertoire, les autorisations deviennent

drwxr-sr-- 2 netuser sambashare      4096 2012-01-22 21:14 New folder
-rwxrw-r-- 1 netuser sambashare         0 2012-01-22 21:07 New Text Document.txt

Le répertoire parent a le drapeau set group id, donc le propriétaire du groupe sambashare. L'idée est que les utilisateurs de samba et les utilisateurs du serveur appartiennent au groupe sambashare et doivent donc pouvoir modifier, supprimer et créer des fichiers et des répertoires. Cependant, étant donné que les dossiers créés n'ont pas l'indicateur d'écriture pour l'ensemble de groupes, les utilisateurs du serveur ne peuvent pas créer de nouveaux fichiers ou dossiers dans ces dossiers sans sudo.

J'ai testé l'ajout et la suppression du masque de répertoire, du mode de répertoire forcé, du mode de sécurité du répertoire et du mode de sécurité du répertoire forcé, mais les comportements persistent. Les fichiers et dossiers nouvellement créés ne reçoivent pas l'autorisation 774 prévue, mais plutôt 764 et 754 respectivement.

Qu'est-ce que je rate? Pourquoi samba ne définit-il pas les bonnes autorisations ?

Meilleure réponse

Je pense que vous devez utiliser les paramètres suivants :

# I changes the permissions to rw-rw-r--
# You should be able to change them to 775 if you need the files to
# be executable
create mask = 664
force create mode = 664
security mask = 664
force security mode = 664

# I set the SGID flag here as I thought this is what you wanted
# You could change to 0775
directory mask = 2775
force directory mode = 2775
directory security mask = 2775
force directory security mode = 2775

Je cherchais une bonne explication du fonctionnement de ces paramètres, mais je n'ai rien trouvé de mieux que man smb.conf

Vous devrez faire défiler un peu vers le bas pour ces options.

Fondamentalement, en un mot, les autorisations Windows ne sont pas les mêmes que celles d'Unix (Linux) et il est un peu étrange de voir comment Samba mappe les autorisations.


Ubuntu
  1. Comment renommer un répertoire sous Linux

  2. Linux - Comment définir les autorisations de fichier par défaut pour tous les dossiers/fichiers d'un répertoire ?

  3. Autorisations SSH et répertoire personnel ?

  4. Mettre en minuscules tous les répertoires sous un répertoire ?

  5. Simuler un lien physique vers un répertoire ?

Comment obtenir la taille d'un répertoire sous Linux

Comment configurer les blocs de serveur Nginx sur Ubuntu 18.04

Comment configurer des hôtes virtuels Apache sur Ubuntu 20.04

Mystérieux .répertoires dans le répertoire personnel ?

Comment configurer la confidentialité du répertoire dans cPanel ?

Un grand changement pour Samba dans Ubuntu 22.04 et comment le contourner