ファイルシステムでACLがサポートされていることを確認するにはどうすればよいですか?


12

getfaclエラーが発生しないことを確認するだけで十分ですか、または他の場所をチェックして、ACLがファイルシステムでサポートされているかどうかを確認する必要がありますか?

回答:


7

マウントされたファイルシステムについて話している場合、ACLが可能かどうかを判断する固有の方法はわかりません。「ACLはサポートされていますか?」いくつかのタイプのACL(Solaris / Linux / not-POSIX-after-all、NFSv4、OSXなど)があるため、これはそれほど正確な質問ではありません。getfaclそれがすべてある場合、それはUnixのアクセス許可を喜んで報告するので、それはテストとして役に立たないことに注意してください:テストするACLを設定してみる必要があります。

マウントされたファイルシステム上aclで、マウントオプション(で見つけることができます/proc/mount)の存在を確認できます。これだけでは十分ではないことに注意してください。カーネルのバージョンとファイルシステムのタイプも考慮する必要があります。一部のファイルシステムタイプでは、マウントオプションに関係なく、常にACLを使用できます。これは、tmpfs、xfs、およびzfsの場合です。明示的に除外しない限り、一部のファイルシステムにはACLがあります。これは、カーネル2.6.39以降のext4の場合です


getfaclテストに関してはあなたが正しいです。(デフォルトのものとヘッダーを抑制することによって)デフォルト以外のACLを見つけることができた場合を除きます。/proc/mountただし、aclオプションがデフォルトのオプションであり、mountコマンドまたはからのものではない場合、チェックだけでは不十分のようfstabです。
0xC0000022L 2014

LinuxでZFSを実行するacltype=posixaclと、/proc/mountsが表示されますposixaclが、ext4のみの別のシステムでは、何もありませんが/proc/mountsaclext4のデフォルトのマウントオプションでした。
CMCDragonkai 2016

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設定を探します(「通常の」構成場所は/ bootにあります):
    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
- serverfaultの
- bencane.com
- wiki.archlinux.org


1

ext2 / 3/4またはbtrfsを使用している場合は、aclをデフォルトで有効にする必要があります。

確認する:

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

出力に含まれていない場合は、次のようにします。

tune2fs -o acl /dev/sdXY


ただし、このコマンドはext2 / 3/4に対してのみ機能します。そして、それは必要ですがroot、実行getfaclする必要はありません。サポートを確認するためのより良いオプションはありませんか?
0xC0000022L 2014

grep acl /etc/mke2fs.confそれもやります。
クトゥルフ触手2014

これはext2 / 3/4にも固有で、btrfsには対応していません。お時間をいただきありがとうございます。問題に対するより一般的な解決策を差し上げます。
0xC0000022L 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.