getfacl
がエラーを出さないことを確認するだけで十分ですか、それとも他の場所をチェックして、ファイルシステムでACLがサポートされているかどうかを確認する必要がありますか?
マウントされたファイルシステムについて話している場合、ACLが可能かどうかを判断するための本質的な方法はわかりません。 「ACLはサポートされていますか?」 ACLにはいくつかのタイプがあるため(Solaris/Linux/not-POSIX-after-all、NFSv4、OSXなど)、それほど正確な質問ではありません。 getfacl
は、それがすべての場合にUnixのアクセス許可を喜んで報告するため、テストとしては役に立たないことに注意してください。テストするACLをsetting試す必要があります。
マウントされたファイルシステムで、マウントオプション(/proc/mount
にあります)にacl
が存在するかどうかを確認できます。これだけでは十分ではないことに注意してください。カーネルのバージョンとファイルシステムのタイプも考慮する必要があります。一部のファイルシステムタイプでは、マウントオプションに関係なく、常にACLを使用できます。これは、tmpfs、xfs、およびzfsの場合です。明示的に除外しない限り、一部のファイルシステムにはACLがあります。これが当てはまる カーネル2.6.39以降のext4の場合 。
ACLが利用可能かどうかを知るには、次のことができます。
現在のカーネルバージョンとファイルシステムを確認します。uname -r
df -T
またはmount | grep root
最近のディストリビューションでは、ACLマウントオプションがデフォルトで含まれています(カーネル2.6以降)。したがって、/ etc/fstab(または同様のもの)で再定義する必要はありません。関連するファイルシステムの非網羅的なリスト:ext3、ext4、tmpfs、xfsおよびzfs。
古い設定の場合は、カーネルを再コンパイルするか、/etc/fstab
にaclを追加する必要があります。
fstabの例:/dev/root / ext4 acl,errors=remount-ro 0 1
既存の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
ext2/3/4またはbtrfsを使用している場合は、aclをデフォルトで有効にする必要があります。
確認する:
tune2fs -l /dev/sdXY | grep "Default mount options:"
出力に含まれていない場合は、次のようにします。
tune2fs -o acl /dev/sdXY