GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit výchozí oprávnění k souborům pro všechny složky/soubory v adresáři?

Našel jsem to:Použití výchozích oprávnění

Z článku:

  1. Nastavte setgid bit, takže soubory/složka v budou vytvořeny se stejnou skupinou jako

    chmod g+s <directory>
    
  2. 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


Linux
  1. Linux – Jak nastavit výchozí oprávnění k souborům pro všechny složky/soubory v adresáři?

  2. Jak obnovit výchozí skupinové/uživatelské vlastnictví všech souborů pod /var?

  3. Přečtěte si, jak změnit oprávnění pro soubory a složky

  1. Jak nastavit heslo pro soubory ZIP s příkazem ve všech operačních systémech?

  2. Jak změnit všechny výskyty slova ve všech souborech v adresáři

  3. Jak přesunout všechny soubory z aktuálního adresáře do horního adresáře?

  1. Jak nastavím výchozí přezdívku pro nová připojení irssi?

  2. Jak fungují oprávnění k souborům pro uživatele root?

  3. Jak vynutím konkrétní oprávnění pro nové soubory/složky na souborovém serveru Linux?