ACL'lerin dosya sistemimde desteklendiğini nasıl bilebilirim?


14

getfaclHata 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:


8

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 getfacldenemek 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 .


gelince getfacltestin 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/mountdurumlarda veya denetimin yeterli olmadığı anlaşılıyor . aclfstab
0xC0000022L

Linux'ta ZFS'yi çalıştırırken acltype=posixacl, /proc/mountsirade ile fark ettim posixacl, ancak sadece ext4 ile başka bir sistemde, içinde hiçbir şey yok /proc/mounts, ancak aclext4 için varsayılan bir montaj seçeneği vardı.
CMCDragonkai

4

ACL'nin kullanılabilir olup olmadığını öğrenmek için şunları yapabilirsiniz:

  1. Geçerli çekirdek sürümünü ve dosya sistemini kontrol edin:
    uname -r
    df -Tveya 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

  2. 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


1

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.confbunu da yapacak.
Cthulhu Tentacles
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.