GNU/Linux >> Znalost Linux >  >> Linux

Jak vynutím skupinu a oprávnění pro vytvořené soubory v konkrétním adresáři?

Chcete-li nastavit skupinu, zadejte /var/www setgid bit:

chgrp www-data /var/www
chmod g+s /var/www

Chcete-li také upravit podadresáře:find /var/www -type d -exec chmod g+s {} +

To způsobí, že všechny nově vytvořené soubory zdědí skupinu nadřazeného adresáře namísto skupiny uživatele.

Chcete-li nastavit výchozí oprávnění skupiny, budete muset použít ACL . Nastavte "výchozí" ACL:

setfacl -m "default:group::rwx" /var/www

Chcete-li také upravit podadresáře:find /var/www -type d -exec setfacl -m d:g::rwx {} +

Poznámka:Systém souborů musí mít povolenou podporu ACL. Někdy je ve výchozím nastavení zapnutá; na ext3 nebo ext4 může se zobrazit „Operace není podporována“, v takovém případě je nutné ji povolit ručně:

  • Pro aktuálně připojený souborový systém:mount -o remount,acl /

  • Trvale – jedna z níže uvedených metod:

    • na úrovni fstab:upravit /etc/fstab mít acl v poli možností

    • na úrovni souborového systému:tune2fs -o acl /dev/diskname


To mohlo pár lidí uvíznout u odpovědi 'grawity' na setgid, pokud se skupina složky liší od vaší, možná budete muset spustit chmod jako root, ale neobjeví se žádná chyba, která by indikovala, že to musíte udělat.

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir

$ chmod g+s dir                                    #no errors

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir  #but nothing changed

$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar  9 10:51 nosudo       #and the group is still wrong


$ sudo chmod g+s dir

$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar  9 10:44 dir  #the setgid bit is now on

$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke      0 Mar  9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar  9 10:51 withsudo #and group is set

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

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

  3. Jak změnit oprávnění pro složku a její podsložky/soubory v jednom kroku?

  1. Jak odlišíte adresář pouze pro soubory určitého typu?

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

  3. Jak nastavit oprávnění linux pro složku WWW?

  1. Chcete-li změnit oprávnění pro adresář a soubory

  2. Jak extrahovat soubory Tar do konkrétního nebo jiného adresáře v Linuxu

  3. Jak spočítat počet souborů a podadresářů v daném adresáři