(2 odpovědi)
Uzavřeno před 6 lety.
Jak je to možné?
-
ACL není povoleno v
/etc/fstab
a mohu to ověřit ručním otevřenímfstab
nebo spuštěnímsudo mount | grep -i acl
. -
Ale
getfacl
&setfacl
Příkazy by fungovaly bez jakýchkoli stížností!
Problém je v tom, že nejprve musím pochopit, proč to funguje, a zadruhé musím zkontrolovat ostatní systémy, abych zjistil, zda je na nich podpora ACL dostupná nebo ne, jak to tedy mohu udělat?
Příkazy ACL byly testovány na obou /
&/mydrive
(mount
viz níže výstup).
Informace o OS:
uname -a
:Linux localhost 3.2.0-4-amd64 #1 SMP Debian 3.2.57-3+deb7u1 x86_64 GNU/Linux
lsb_release -a
:No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 7.5 (wheezy)
Release: 7.5
Codename: wheezy
mount
:sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=384309,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=308664k,mode=755)
/dev/disk/by-uuid/3180f94a-e765-44e9-93f7-33aa1c6422c0 on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1188500k)
/dev/sda5 on /mydrive type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
Přijatá odpověď:
ext3/4 souborové systémy mají výchozí možnosti připojení atribut v jejich záhlaví. Můžete to vidět pomocí:
$ LC_ALL=C tune2fs -l /dev/device | grep 'Default mount options:'
Default mount options: user_xattr acl
Můžete jej změnit pomocí tune2fs -o
a montáž pomocí -o noacl
přepíše to.
Při vytváření nového systému souborů mke2fs
nastaví to na základě toho, co zadáte v /etc/mke2fs.conf
. Například můj má:
[defaults]
[...]
default_mntopts = acl,user_xattr
[...]
Nicméně, jak poznamenal Gilles, od 2.6.39 acl
a user_xattr
jsou ve výchozím nastavení zapnuté (za předpokladu, že podpora byla povolena v jádře v době kompilace, což by bylo obecně výchozí nastavení). Tedy i bez acl
výchozí možnost připojení, acl
s by bylo ve výchozím nastavení na novějším jádře povoleno a jediný způsob, jak jej zakázat, by bylo použití mount -o noacl
.
Chcete-li zkontrolovat, zda jsou seznamy ACL podporovány, nejlepší by bylo zkusit se na ně zeptat:
$ chacl -l /the/mountpoint
chacl: cannot get access ACL on '/the/mountpoint': Operation not supported