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.
-
acl
je 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