Ho un server Ubuntu che condivide alcune cartelle usando samba. Quando un client crea una nuova cartella o file, i permessi non vengono impostati in base alle impostazioni in smb.conf.
Le mie impostazioni attuali per una condivisione specifica:
[share]
path = /mnt/share
browsable = yes
guest ok = no
writable = yes
read only = no
create mask = 0774
directory mask = 0774
write list = netuser
Quando un client samba (un Windows 7 box) utilizza l'account 'netuser' per creare un file o una directory, i permessi diventano
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
La directory padre ha il flag set group id, quindi il proprietario del gruppo sambashare. L'idea è che sia gli utenti samba che gli utenti server appartengano al gruppo sambashare, e quindi siano in grado di modificare, eliminare e creare file e directory. Tuttavia, poiché le cartelle create non hanno il flag di scrittura per il gruppo impostato, gli utenti del server non possono creare nuovi file o cartelle in quelle cartelle senza sudo.
ho provato ad aggiungere e rimuovere la maschera di directory, la modalità di directory di forza, la modalità di sicurezza di directory e la modalità di sicurezza di directory di forza, ma i comportamenti rimangono ancora. I file e le cartelle appena creati non ottengono l'autorizzazione 774 prevista, ma rispettivamente 764 e 754.
Cosa mi sto perdendo? Perché samba non imposta le autorizzazioni corrette?
Migliore risposta
Penso che tu debba usare i seguenti parametri:
# 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
Stavo cercando una bella spiegazione di come funzionano queste impostazioni, ma non ho trovato niente di meglio di man smb.conf
Dovrai scorrere un po' verso il basso per quelle opzioni.
Fondamentalmente, in poche parole, i permessi di Windows non sono gli stessi di unix (linux) ed è un po' strano come samba mappi i permessi.