Як я можу знати, що ACL підтримуються у моїй файловій системі?


14

Чи достатньо, щоб не бачити getfaclпомилок, чи потрібно перевірити якесь інше місце, щоб побачити, чи підтримуються файлові системи ACL-файли чи ні?

Відповіді:


8

Якщо ви говорите про змонтовану файлову систему, я не знаю жодного внутрішнього способу сказати, чи можливий ACL. Зауважте, що "підтримуються ACL?" не дуже точне запитання, оскільки існує декілька типів ACL навколо (Solaris / Linux / not-POSIX-зрештою, NFSv4, OSX,…). Зауважте, що getfaclце марно як тест, оскільки він із задоволенням повідомляє дозволи на Unix, якщо це все: вам потрібно спробувати встановити ACL для тестування.

Все ж у змонтованій файловій системі ви можете перевірити наявність aclу параметрах монтажу (які ви можете знайти в /proc/mount). Зауважте, що цього недостатньо: вам також потрібно врахувати версію ядра та тип файлової системи. Для деяких типів файлової системи завжди доступний ACL, незалежно від параметрів монтажу; це стосується tmpfs, xfs та zfs. У деяких файлових системах є ACL, якщо явно не виключено; це стосується ext4, оскільки ядро ​​2.6.39 .


що стосується getfaclтесту, ви праві. За винятком випадків, коли мені вдалося знайти ACL, що не використовується за замовчуванням (за допомогою придушення типових параметрів та заголовка). Перевірка /proc/mountздається недостатньою у тих випадках, коли aclпараметр є типовим параметром, який не надходить із команди mount або fstab, хоча.
0xC0000022L

Я помітив, коли запускається ZFS на Linux, з acltype=posixacl, /proc/mountsволя покаже posixacl, але в іншій системі з просто ext4 всередині нічого немає /proc/mounts, але aclбув варіант монтажу за замовчуванням для ext4.
CMCDragonkai

4

Щоб знати, чи доступний ACL, ви можете:

  1. Перевірте поточну версію ядра та файлову систему:
    uname -r
    df -Tабо mount | grep root

    Останній дистрибутив за замовчуванням включив опцію кріплення ACL (оскільки ядро ​​2.6). Тому не обов'язково переосмислювати його в / etc / fstab (або подібному). Невичерпний перелік відповідних файлових систем: ext3, ext4, tmpfs, xfs та zfs.

    Якщо у вас старіші установки, можливо, вам доведеться перекомпілювати ядро ​​та / або додати acl /etc/fstab.
    Приклад fstab: /dev/root / ext4 acl,errors=remount-ro 0 1

  2. Шукайте наявні налаштування ACL ("звичайне" місце конфігурації увімкнено / завантажується):
    sudo mount | grep -i acl #optionnal
    cat /boot/config* | grep _ACL

    Залежно від системи ви могли б знайти налаштування /procзамість цього. Ось спосіб вилучити конфігурацію з архіву .gz, а потім здійснити пошук налаштувань acl:
    cat /proc/config.gz | gunzip > running.config && grep -i 'acl' running.config
    cat running.config | grep _ACL

    Ви повинні побачити щось на кшталт:
    CONFIG_EXT3_FS_POSIX_ACL=y
    CONFIG_EXT2_FS_POSIX_ACL=y
    CONFIG_XFS_POSIX_ACL=y

    Для файлової системи ви можете спробувати отримати більше інформації за допомогою:
    sudo tune2fs -l /xxx/xxx| grep 'Default mount options:'
    (замініть xxx / xxx вашою файловою системою)

-
Корисну інформацію можна знайти на:
- superuser.com ,
- сервер за замовчуванням ,
- bencane.com ,
- wiki.archlinux.org


1

acl повинен бути включений за замовчуванням, якщо ви використовуєте ext2 / 3/4 або btrfs.

Перевірте:

tune2fs -l /dev/sdXY | grep "Default mount options:"

Якщо його немає у виході, зробіть:

tune2fs -o acl /dev/sdXY


grep acl /etc/mke2fs.confзробимо це теж.
щупальця Cthulhu
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.