Našel jsem to:Použití výchozích oprávnění
Z článku:
-
Nastavte
setgid
bit, takže soubory/složka vbudou vytvořeny se stejnou skupinou jako chmod g+s <directory>
-
Nastavte výchozí seznamy ACL pro skupinu a další
setfacl -d -m g::rwx /<directory> setfacl -d -m o::rx /<directory>
Dále můžeme ověřit:
getfacl /<directory>
Výstup:
# 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
Toto je dodatek k Chrisově odpovědi, je založen na mé zkušenosti na mém zařízení Arch Linux.
Pomocí výchozího přepínače (-d
) a přepínač úprav (-m
) pouze upraví výchozí oprávnění, ale stávající ponechá beze změny:
setfacl -d -m g::rwx /<directory>
Pokud chcete změnit celou strukturu oprávnění složky včetně stávajících (budete muset udělat další řádek a nastavit jej na rekurzivní s -R
):
setfacl -R -m g::rwx /<directory>
např.
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.
(KREDIT k markdwite v komentářích syntaxi řádku zrušit všechna oprávnění)
Přidejte sebe/přihlášeného uživatele do skupiny www-data, abychom mohli pracovat se soubory vytvořenými www-data server
sudo usermod -a -G www-data $USER
Je třeba restartovat/znovu se přihlásit, aby nově přidaná skupina začala platit
cd /var/www
Přidejte www-data jako člena skupiny html složky a svého uživatele jako vlastníka, takže je vlastníme i jako člena skupiny
sudo chown -R $USER:www-data html
Vložte své uživatelské jméno místo USER
Nastavte oprávnění ke čtení, zápisu, spouštění podle potřeby, (ugo) u=uživatel, g=skupina, o=ostatní
sudo chmod 750 html
Nastavte GID html, nově vytvořené soubory v html zdědí oprávnění k vlastnictví:
sudo chmod g+s html
Tím se vytvoří výchozí pravidla pro nově vytvořené soubory/adresáře v adresáři html a podadresářích.
sudo setfacl -R -d -m u::rwX -m g::rX -m o::000 html
Vytvořte SELinux, pokud je nainstalován, ignorujte požadavek na kontext www-data, takže umožňuje oprávnění k zápisu
sudo setsebool -P httpd_unified 1
seznam adresářů, abyste viděli nová použitá oprávnění
ls -ld html
Vrátí toto
drwxrwsr-x+ 3 html www-data
Koncové + znamená, že ACL, Access Control List, je nastaven v adresáři.
Reference :Odkaz na fórum