GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Non riesco a ottenere Samba per impostare le autorizzazioni corrette sulle directory create?

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.


Ubuntu
  1. Come rinominare una directory su Linux

  2. Linux:come impostare le autorizzazioni file predefinite per tutte le cartelle/file in una directory?

  3. Minuscolo di tutte le directory in una directory?

  4. Ottieni il tempo di creazione/creazione del file??

  5. Come concedere autorizzazioni di scrittura in Samba?

Come ottenere la dimensione di una directory in Linux

Come configurare i blocchi del server Nginx su Ubuntu 18.04

Come configurare gli host virtuali Apache su Ubuntu 20.04

Come impostare la privacy della directory in cPanel?

Un grande cambiamento per Samba in Ubuntu 22.04 e come aggirarlo

Come impostare le autorizzazioni file predefinite per tutte le cartelle/file in una directory?