seznam řízení přístupu (ACL) poskytuje další, flexibilnější mechanismus oprávnění pro souborové systémy. Je navržen tak, aby pomohl s oprávněními souborů UNIX. ACL vám umožňuje udělit oprávnění pro každého uživatele nebo skupinu jakémukoli zdroji disku.
instalace
balíček acl je závislost systemd, měl by být již nainstalován.
povolit ACL
Chcete-li povolit ACL, musí být souborový systém namontován pomocí volby acl. Fstab můžete použít k tomu, aby byl ve vašem systému trvalý.,
existuje možnost, že volba acl je již aktivní jako výchozí možnost připojení na souborovém systému. Btrfs dělá a Ext2/3/4 souborové systémy dělat taky. Použijte následující příkaz pro kontrolu ext* formátované oddíly pro volbu:
# tune2fs -l /dev/sdXY | grep "Default mount options:"
Default mount options: acl, user_xattr
dále zkontrolujte, zda default mount možnost není přepsána, v takovém případě uvidíte noacl /proc/mounts v příslušném řádku.,
můžete nastavit výchozí volby připojení souborového systému pomocí tune2fs -o option partition příkaz, například:
# tune2fs -o acl /dev/sdXY
Pomocí výchozí volby připojení, místo vstupu v /etc/fstab je velmi užitečná pro externí disky, takový oddíl bude připojen pomocí acl možnost i na jiných počítačích s Linuxem. Není třeba upravovat /etc/fstab na každém stroji.
-
aclje zadána jako výchozí možnost připojení při vytváření souborového systému ext2/3/4., Toto je nakonfigurováno v/etc/mke2fs.conf. - výchozí možnosti připojení nejsou uvedeny v
/proc/mounts.
použití
nastavit ACL
ACL lze upravit pomocí příkazu setfacl.
--test.,
nastavit oprávnění pro ostatní:
# setfacl -m "other:permissions" <file/dir>
povolit všechny nově vytvořené soubory a adresáře dědí položky z nadřazeného adresáře (to nebude mít vliv na soubory, které budou zkopírovány do adresáře):
# setfacl -dm "entry" <dir>
odstranit konkrétní položku:
# setfacl -x "entry" <file/dir>
odstranit výchozí položky:
# setfacl -k <file/dir>
odstranit všechny položky (položky vlastníka, skupinu a ostatní jsou zachovány):
# setfacl -b <file/dir>
faktická přesnost tohoto článku, nebo sekci, je sporné.,![]()
--mask možnost (která byla převzata z setfacl(1)) byla stanovena jako nepřesné, ale nová poznámka nezdá správné. Podrobnosti naleznete na diskusní stránce. (Diskutovat na Diskuse:Seznamy Řízení Přístupu#ACL maska vstupu)--mask záznam byl výslovně uveden. Položka masky označuje maximální povolená oprávnění pro uživatele (kromě vlastníka) a pro skupiny., Pokud není explicitně nastavena, bude to odpovídat oprávnění výchozí skupiny. Chcete-li objasnit, co to znamená, předpokládejme, že skupina vlastnící adresář má oprávnění r-x. Pokud přidáte ACL uživatele nebo skupinu s oprávnění rwx, efektivní oprávnění uživatel nebo skupina bude r-x. Důvodem pro to je tak, že neexistují žádné překvapení, když soubor ze systému, který nepodporuje Acl je k dispozici na systému, který má..-R.,c
# soubor: abc# majitel: někdo# skupina: someoneuser::rw-uživatel:johnny:r-xgroup::r-maska::r-xother::r ...
Odstranit všechny ACL položky:
# setfacl -b abc
Check permissions:
# getfacl abc
# soubor: abc# majitel: někdo# skupina: someoneuser::rw-group::r--ostatní::r ...
Výstup z ls
můžete Si všimnout, že tam je ACL pro daný soubor, protože to bude vystavovat + (znaménko plus), po jejím Unix oprávnění v výstup ls -l.,
$ ls-l /dev/audio
crw-rw----+ 1 root audio 14, 4 nov. 9 12:49 /dev/audio
$ getfacl /dev/audio
Poskytnutí plnění oprávnění pro soukromé soubory na webový server
následující postup popisuje, jak proces jako webový server může být poskytnut přístup k soubory, které jsou umístěny v domovském adresáři uživatele, aniž by byla ohrožena bezpečnost tím, že celý svět přístup.,
V následujícím budeme předpokládat, že web server běží jako uživatel http a udělit mu přístup do geoffrey‚s home directory /home/geoffrey.
prvním krokem je poskytnutí výkonu oprávnění pro uživatele http:
# setfacl -m "u:http:--x" /home/geoffrey
Od uživatele http je nyní schopen přistupovat k souborům v /home/geoffrey, jiní již nepotřebujete přístup:
# chmod o-rx /home/geoffrey
Použití getfacl ověřit změny:
$ getfacl /home/geoffrey
Jako výše uvedené výstup ukazuje, other‚s již nemají žádné oprávnění, ale uživatel http je stále schopen získat přístup k souborům, tedy zabezpečení by mohly být považovány za zvýšené.,
Viz také
- getfacl(1)
- setfacl(1)
- POSIX Access Control Lists na Linux
- Jak nastavit výchozí oprávnění pro všechny složky/soubory v adresáři?
Leave a Reply