(2 jawaban)
Tutup 6 tahun yang lalu.
Bagaimana ini mungkin?
-
ACL tidak diaktifkan di
/etc/fstab
, dan saya dapat memverifikasinya dengan membukafstab
manually secara manual atau menjalankansudo mount | grep -i acl
. -
Tapi
getfacl
&setfacl
Perintah akan bekerja tanpa keluhan!
Masalahnya adalah, pertama saya perlu memahami mengapa ini bekerja, dan kedua saya perlu memeriksa sistem lain untuk melihat apakah dukungan ACL tersedia atau tidak, jadi bagaimana saya bisa melakukannya?
Perintah ACL diuji pada kedua /
&/mydrive
(lihat di bawah untuk mount
keluaran).
Info 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)
Jawaban yang Diterima:
ext3/4 sistem file memiliki opsi pemasangan default atribut di header mereka. Anda dapat melihatnya dengan:
$ LC_ALL=C tune2fs -l /dev/device | grep 'Default mount options:'
Default mount options: user_xattr acl
Anda dapat mengubahnya dengan tune2fs -o
dan pemasangan dengan -o noacl
akan menimpanya.
Saat membuat sistem file baru, mke2fs
akan mengaturnya berdasarkan apa yang Anda tentukan di /etc/mke2fs.conf
. Misalnya, milik saya memiliki:
[defaults]
[...]
default_mntopts = acl,user_xattr
[...]
Namun, seperti dicatat oleh Gilles, sejak 2.6.39, acl
dan user_xattr
aktif secara default (asalkan dukungan telah diaktifkan di kernel pada waktu kompilasi yang umumnya akan menjadi default). Jadi bahkan tanpa acl
opsi pemasangan default, acl
s akan diaktifkan secara default pada kernel yang lebih baru, dan satu-satunya cara untuk menonaktifkannya adalah dengan menggunakan mount -o noacl
.
Untuk memeriksa apakah ACL didukung, yang terbaik adalah mencoba dan menanyakannya:
$ chacl -l /the/mountpoint
chacl: cannot get access ACL on '/the/mountpoint': Operation not supported