Come si imposta ACL Linux come predefinito su un gruppo specifico con autorizzazioni?


0

Quindi ho una directory: www\che sembra così:

[eugene @ server ~] $ ll
totale 0
drwxrwx ---. 2 eugene eugene 57 dic 10 16:04 www

Voglio farlo in modo che tutti i nuovi file creati in questa directory appartengano al gruppo apache e abbiano le autorizzazioni 770.

Così ho fatto:

[eugene @ server ~] $ chgrp apache www /
[eugene @ server ~] $ setfacl -Rm u: eugene: rwx, d: g: apache: rwx, d: o: --- www /
[eugene @ server ~] $ ll
drwxrwx --- + 2 eugene apache 43 dic 10 16:10 www
[eugene @ server ~] $ echo 123> www / test.txt
[eugene @ server ~] $ ll www /
-rw-rw ---- + 1 eugene eugene 4 dic 10 16:11 test.txt
[eugene @ server ~] $  

Come vedi è test.txtstato creato senza il gruppo previsto di apache. Né è stata ximpostata l'autorizzazione (esegui) ...

Cosa mi sto perdendo qui?

Risposte:


0

Nell'ordine in cui i file nella tua directory vengono creati con il gruppo apache, è meglio impostare il bit SETGUID:

chmod +2000 www

Per quanto riguarda i diritti predefiniti per la creazione di file, non è possibile farlo utilizzando ACL, poiché umask Linux predefinito vince sempre. Umask non consente di creare file con nessuna cifra di 7 cifre (rwx) nei diritti dei file creati.

Invece puoi creare uno script mkfile con il seguente interno:

touch $1
chmod 770 $1

renderlo eseguibile:

chmod 750 mkfile

e mettilo nella cartella / usr / local / bin. Ora puoi creare file con 770 autorizzazioni ovunque:

mkfile my_file
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.