Conserva le autorizzazioni sui file condivisi di samba quando si sovrascrive


4

Ho una directory condivisa nella mia VM di Ubuntu. Questo è il mio smb.conf:

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

Quasi tutto funziona bene, cioè quando viene creato un nuovo file, viene mascherato 0644. Ma anche quando apro (in Windows) e salvo un file esistente, anche le autorizzazioni di quel file sono impostate 0644. È piuttosto fastidioso quando si modificano gli script, che erano stati precedentemente mascherati 0755 o 777.

C'è un modo per mantenere Samba esistente maschere di autorizzazione quando i file vengono sovrascritti?
[modifica] ... durante la creazione nuovo file con permessi 0644


Ho lo stesso problema ed è molto fastidioso. Ti è capitato di trovare una soluzione?
Daniel Standage

@DanielStandage No, non l'ho fatto. Come soluzione alternativa, ho uno script che continua a correggere i flag eseguibili: /
user123444555621

Risposte:


9

Inserisci:

map archive = no

alla [Condividi]. L'impostazione predefinita (sì) imposterà il bit di esecuzione su praticamente tutto ciò che si salva. Se impostato su no, puoi lasciare la maschera di creazione impostata su 755 o qualsiasi altra cosa.

Lo trovo essenziale se si modificano molti file di sistema come / etc / mail / alias, che non riusciranno a compilare con il bit bit di esecuzione.

; o) Cor


Grazie, buona idea! Sfortunatamente non funziona come previsto sulla mia macchina (Win7 con Ubuntu 12.04). Tutti i bit vengono resettati quando sovrascrivo un file.
user123444555621

Funziona perfettamente su Windows 10 tramite VMWare sul mio Devbox di Ubuntu, i nuovi file ottengono i permessi di creazione maschera ei file esistenti non vengono toccati. Devo aggiungere force user e force group alla [condivisione] in smb.conf poiché i miei utenti non sono gli stessi.
WoodyDRN

2

Per impedire a Samba di reimpostare le autorizzazioni di un file quando un file viene salvato tramite Samba, impostare il seguente parametro in smb.conf:

nt acl support = no

Questo impedisce a Samba di tentare di mappare le autorizzazioni UNIX per l'elenco di controllo di accesso di Windows.


1

Penso che se si imposta l'account guest di samba come un account che normalmente scriverebbe file con 775 permessi dovresti andare.

[global]
guest account = [unix user]

Oppure potresti creare un utente samba come il tuo utente su Ubuntu che ha 755 permessi (ogni utente samba deve corrispondere a un utente UNIX) e quindi accedere alla condivisione samba accedendo come tale utente.

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

Non vedo come questo risolva il mio problema. Stavo chiedendo come fare in modo che le autorizzazioni esistenti non vengano modificate.
user123444555621

Se l'utente Unix / Linux sta scrivendo i file come 755 e si accede al server Samba come utente Unix / Linux, i file creati / modificati dovrebbero in teoria essere scritti con le autorizzazioni 755. Hai provato questo?
jason

@ Pumbaa80 Vedo che stai cercando di hackerare il modo in cui Linux e Samba gestiscono le autorizzazioni. Probabilmente vorrete esaminare gli ACL. Con loro dovresti essere in grado di definire le maschere di autorizzazione per utente. Quindi, accedi a samba con l'utente A e leggi / scrivi con le autorizzazioni 755 e come utente B leggi / scrivi con 644.
jason

Non vedo come questo risolva il mio problema. Stavo chiedendo come fare in modo che le autorizzazioni esistenti non vengano modificate.
user123444555621

0

Uso Samba per condividere tra Windows e Kubuntu, tranne che sul mio sistema Linux è l'host, non la VM. Per la mia configurazione, ho fatto lo stesso nome utente in entrambi i sistemi, quindi impostato valid users in smb.conf con il mio nome utente. Non ho un create mask impostazione e le autorizzazioni funzionano correttamente.

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

Ma cosa significa questo per i file appena creati?
user123444555621

Poiché i nomi dei profili utente corrispondono, tutti i nuovi file vengono creati con l'utente e il gruppo principale del nome dell'account host, con le seguenti autorizzazioni: -rwx ------
Tom
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.