L'ho trovato:applicazione delle autorizzazioni predefinite
Dall'articolo:
-
Imposta lo
setgid
bit, in modo che i file/la cartella invengano creati con lo stesso gruppo di chmod g+s <directory>
-
Imposta gli ACL predefiniti per il gruppo e altro
setfacl -d -m g::rwx /<directory> setfacl -d -m o::rx /<directory>
Successivamente possiamo verificare:
getfacl /<directory>
Uscita:
# file: ../<directory>/
# owner: <user>
# group: media
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
Questa è un'aggiunta alla risposta di Chris, si basa sulla mia esperienza con il mio impianto Arch Linux.
Utilizzando l'opzione predefinita (-d
) e l'opzione di modifica (-m
) modificherà solo i permessi predefiniti ma lascerà intatti quelli esistenti:
setfacl -d -m g::rwx /<directory>
Se vuoi cambiare l'intera struttura dei permessi della cartella, inclusi quelli esistenti (dovrai fare una riga in più e renderla ricorsiva con -R
):
setfacl -R -m g::rwx /<directory>
es.
setfacl -R -m g::rwx /home/limited.users/<directory> // gives group read,write,exec permissions for currently existing files and folders, recursively
setfacl -R -m o::x /home/limited.users/<directory> //revokes read and write permission for everyone else in existing folder and subfolders
setfacl -R -d -m g::rwx /home/limited.users/<directory> // gives group rwx permissions by default, recursively
setfacl -R -d -m o::--- /home/limited.users/<directory> //revokes read, write and execute permissions for everyone else.
(CREDITO markdwite nei commenti per la sintassi della riga di revoca di tutti i privilegi)
Aggiungi te stesso/utente registrato al gruppo www-data, così possiamo lavorare con i file creati dal server www-data
sudo usermod -a -G www-data $USER
È necessario riavviare/accedere di nuovo in modo che il gruppo appena aggiunto abbia effetto
cd /var/www
Aggiungi www-data come membro del gruppo della cartella html e il tuo utente come proprietario, in modo che sia di nostra proprietà oltre che membro del gruppo
sudo chown -R $USER:www-data html
Inserisci il tuo nome utente al posto di USER
Imposta i permessi di lettura, scrittura ed esecuzione come richiesto, (ugo) u=utente, g=gruppo, o=altri
sudo chmod 750 html
Imposta il GID di html, ora i file appena creati in html erediteranno i permessi di proprietà:
sudo chmod g+s html
Questo crea le regole predefinite per i file/directory appena creati all'interno della directory html e delle sottodirectory.
sudo setfacl -R -d -m u::rwX -m g::rX -m o::000 html
Crea SELinux se installato, ignora il requisito del contesto www-data in modo che consenta i permessi di scrittura
sudo setsebool -P httpd_unified 1
list directory per vedere le nuove autorizzazioni applicate
ls -ld html
Restituisce questo
drwxrwsr-x+ 3 html www-data
Il + finale indica che ACL, Access Control List, è impostato sulla directory.
Riferimento :Collegamento al forum