Reicht es aus getfacl
, wenn kein Fehler angezeigt wird, oder muss ich an einer anderen Stelle überprüfen, ob ACLs von den Dateisystemen unterstützt werden oder nicht?
quelle
Reicht es aus getfacl
, wenn kein Fehler angezeigt wird, oder muss ich an einer anderen Stelle überprüfen, ob ACLs von den Dateisystemen unterstützt werden oder nicht?
Wenn Sie über ein gemountetes Dateisystem sprechen, kenne ich keine intrinsische Methode, um festzustellen, ob ACL möglich sind. Beachten Sie, dass "ACL unterstützt wird?" ist keine sehr genaue Frage, da es verschiedene Arten von ACLs gibt (Solaris / Linux / schließlich nicht POSIX, NFSv4, OSX,…). Beachten Sie, dass dies getfacl
als Test nutzlos ist, da Unix-Berechtigungen gerne gemeldet werden, wenn dies alles ist: Sie müssen versuchen , eine zu testende ACL festzulegen.
Im gemounteten Dateisystem können Sie überprüfen, ob acl
in den Mount-Optionen (die Sie in finden /proc/mount
) vorhanden ist. Beachten Sie, dass dies nicht ausreicht: Sie müssen auch die Kernel-Version und den Dateisystemtyp berücksichtigen. Bei einigen Dateisystemtypen ist unabhängig von den Mount-Optionen immer eine ACL verfügbar. Dies ist bei tmpfs, xfs und zfs der Fall. Einige Dateisysteme verfügen über eine ACL, sofern dies nicht ausdrücklich ausgeschlossen ist. Dies ist für ext4 seit Kernel 2.6.39 der Fall .
getfacl
Test betrifft, hast du recht. Außer wenn ich eine nicht standardmäßige ACL finden konnte (durch Unterdrücken von standardmäßigen und Headern). Das Überprüfen/proc/mount
scheint in Fällen, in denen dieacl
Option eine Standardoption ist, die nicht aus dem Befehl mount stammt , nicht ausreichend zu seinfstab
.acltype=posixacl
das angezeigt/proc/mounts
wirdposixacl
, aber in einem anderen System mit nur ext4 ist nichts drin/proc/mounts
, sondernacl
eine Standard-Mount-Option für ext4.Um zu wissen, ob ACL verfügbar ist, können Sie:
Überprüfen Sie die aktuelle Kernel-Version und das aktuelle Dateisystem:
uname -r
df -T
oder In dermount | grep root
letzten Distribution ist standardmäßig die ACL-Mount-Option enthalten (seit Kernel 2.6). Es ist daher nicht zwingend erforderlich, es in / etc / fstab (oder ähnlichem) neu zu definieren. Nicht erschöpfende Liste der betroffenen Dateisysteme: ext3, ext4, tmpfs, xfs und zfs.
Wenn Sie ein älteres Setup haben, müssen Sie möglicherweise den Kernel neu kompilieren und / oder acl hinzufügen
/etc/fstab
.fstab Beispiel:
/dev/root / ext4 acl,errors=remount-ro 0 1
Suchen Sie nach vorhandenen ACL-Einstellungen (der "übliche" Konfigurationsort ist on / boot):
sudo mount | grep -i acl #optionnal
cat /boot/config* | grep _ACL
Je nach System finden Sie die Einstellungen
/proc
stattdessen. Hier ist eine Möglichkeit, die Konfiguration aus dem .gz-Archiv zu extrahieren und dann nach ACL-Einstellungen zu suchen:cat /proc/config.gz | gunzip > running.config && grep -i 'acl' running.config
cat running.config | grep _ACL
Sie sollten Folgendes sehen:
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_XFS_POSIX_ACL=y
Für das Dateisystem können Sie versuchen, weitere Informationen zu erhalten mit:
sudo tune2fs -l /xxx/xxx| grep 'Default mount options:'
(Ersetzen Sie xxx / xxx durch Ihr Dateisystem)
-
Hilfreiche Informationen finden Sie unter:
- superuser.com ,
- serverfault ,
- bencane.com ,
- wiki.archlinux.org
quelle
acl sollte standardmäßig aktiviert sein, wenn Sie ext2 / 3/4 oder btrfs verwenden.
Überprüfen Sie mit:
tune2fs -l /dev/sdXY | grep "Default mount options:"
Wenn es nicht in der Ausgabe enthalten ist, führen Sie Folgendes aus:
tune2fs -o acl /dev/sdXY
quelle
root
, während des Laufensgetfacl
nicht. Gibt es nicht eine bessere Möglichkeit, nach Support zu suchen?grep acl /etc/mke2fs.conf
werde es auch tun.