getfacl
Hata vermemek yeterli mi veya ACL'lerin dosya sistemleri tarafından desteklenip desteklenmediğini görmek için başka bir yeri kontrol etmem gerekiyor mu?
getfacl
Hata vermemek yeterli mi veya ACL'lerin dosya sistemleri tarafından desteklenip desteklenmediğini görmek için başka bir yeri kontrol etmem gerekiyor mu?
Yanıtlar:
Monte edilmiş bir dosya sisteminden bahsediyorsanız, ACL'nin mümkün olup olmadığını anlamanın doğal bir yolunu bilmiyorum. “EKL destekleniyor mu?” çevresinde çok çeşitli ACL türleri olduğu için çok kesin bir soru değil (Solaris / Linux / POSIX değil sonuçta, NFSv4, OSX,…). Not getfacl
denemek gerekir: yani orada hepsi eğer mutlu Unix izinlerini rapor verecek beri test olarak işe yaramaz ayarı testine bir ACL.
Hala bağlı dosya sisteminde, acl
(bulabileceğiniz /proc/mount
) bağlama seçeneklerinin varlığını kontrol edebilirsiniz . Bunun yeterli olmadığını unutmayın: Çekirdek sürümünü ve dosya sistemi türünü de dikkate almanız gerekir. Bazı dosya sistemi türleri, bağlama seçeneklerinden bağımsız olarak her zaman ACL'ye sahiptir; bu tmpfs, xfs ve zfs için geçerlidir. Bazı dosya sistemlerinde, açıkça hariç tutulmadıkça ACL vardır; çekirdek 2.6.39 beri ext4 için durum böyledir .
acltype=posixacl
, /proc/mounts
irade ile fark ettim posixacl
, ancak sadece ext4 ile başka bir sistemde, içinde hiçbir şey yok /proc/mounts
, ancak acl
ext4 için varsayılan bir montaj seçeneği vardı.
ACL'nin kullanılabilir olup olmadığını öğrenmek için şunları yapabilirsiniz:
Geçerli çekirdek sürümünü ve dosya sistemini kontrol edin:
uname -r
df -T
veya mount | grep root
Son dağıtımda varsayılan olarak ACL bağlama seçeneği vardır (çekirdek 2.6'dan beri). Dolayısıyla / etc / fstab (veya benzeri) içinde yeniden tanımlamak zorunlu değildir. İlgili dosya sistemlerinin kapsamlı olmayan listesi: ext3, ext4, tmpfs, xfs ve zfs.
Daha eski bir kuruluma sahipseniz, çekirdeği yeniden derlemeniz ve / veya acl eklemeniz gerekebilir /etc/fstab
.
fstab örneği: /dev/root / ext4 acl,errors=remount-ro 0 1
Mevcut ACL ayarlarını arayın ("olağan" yapılandırma yeri açık / önyükleme üzerindedir):
sudo mount | grep -i acl #optionnal
cat /boot/config* | grep _ACL
Sisteme bağlı olarak ayarları bulabilirsiniz /proc
. Yapılandırmayı .gz arşivinden ayıklamanın ve ardından acl ayarlarını aramanın bir yolu: Şuna
cat /proc/config.gz | gunzip > running.config && grep -i 'acl' running.config
cat running.config | grep _ACL
benzer bir şey görmelisiniz:
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_XFS_POSIX_ACL=y
Dosya sistemi için daha fazla bilgi almayı deneyebilirsiniz:
sudo tune2fs -l /xxx/xxx| grep 'Default mount options:'
(dosya sisteminizle xxx / xxx yerine)
-
Yardımcı bilgiler şu adreste bulunabilir:
- superuser.com ,
- serverfault ,
- bencane.com ,
- wiki.archlinux.org
ext2 / 3/4 veya btrfs kullanıyorsanız acl varsayılan olarak etkinleştirilmelidir.
Şununla kontrol et:
tune2fs -l /dev/sdXY | grep "Default mount options:"
Çıktıda değilse:
tune2fs -o acl /dev/sdXY
grep acl /etc/mke2fs.conf
bunu da yapacak.
getfacl
testin haklısın. Varsayılan olmayan bir ACL bulabildim hariç (varsayılan olanları ve üstbilgileri bastırarak). Seçeneğin mount komutundan gelmeyen varsayılan bir seçenek olduğu/proc/mount
durumlarda veya denetimin yeterli olmadığı anlaşılıyor .acl
fstab