アクセス制御リスト(ACL)は、ファイルシステムに追加の、より柔軟なアクセス許可メカニズムを提供します。 UNIXファイル権限を支援するように設計されています。 ACLできますの権限のユーザーまたはグループへのディスク資源です。
インストール
aclパッケージはsystemdの依存関係であり、すでにインストールされているはずです。
Aclを有効にする
ACLを有効にするには、ファイルシステムをacl
オプションでマウントする必要があります。 Fstabを使用して、システム上で永続的にすることができます。,
acl
オプションがファイルシステムのデフォルトマウントオプションとして既にアクティブになっている可能性があります。 Btrfsは行い、Ext2/3/4ファイルシステムも行います。
#tune2fs-l/dev/sdXY|grep"Default mount options:"
Default mount options:user_xattr acl
デフォルトのマウントオプションがオーバーライドされていないことも確認してください。noacl
/proc/mounts
関連する行にあります。,
ファイルシステムのデフォルトのマウントオプションは、tune2fs -o option partition
コマンドを使用して設定できます。
# tune2fs -o acl /dev/sdXY
/etc/fstab
のエントリの代わりにデフォルトのマウントオプションを使用すると、外部ドライブにとって非常に便利です。acl
他のlinuxマシンでもオプション。 すべてのマシンで/etc/fstab
を編集する必要はありません。注:
acl
は、ext2/3/4ファイルシステムを作成するときにデフォルトのマウントオプションとして指定されます。, これは/etc/mke2fs.conf
で設定されています。
- デフォルトのマウントオプションは
/proc/mounts
にはリストされていません。li>
ヒント:
--test
フラグを追加することで、権限を変更せずにファイル/ディレクトリの権限の変更をリストすることができます。,
他の人の権限を設定するには:
# setfacl -m "other:permissions" <file/dir>
新しく作成されたすべてのファイルまたはディレクトリが親ディレクトリからエントリを継承できるようにするには(これはディレクトリにコピーされるファイルには影響しません):
# setfacl -dm "entry" <dir>
特定のエントリを削除するには:
# setfacl -x "entry" <file/dir>
デフォルトを削除するにはエントリ:
# setfacl -k <file/dir>
すべてのエントリを削除するには(所有者、グループおよびその他のエントリが保持されます):
# setfacl -b <file/dir>
この記事またはセクションの事実,
理由:
--mask
オプション(setfacl(1)から取得された)に関する元のメモが不正確であると判断されましたが、新しいメモも正し 詳細はトークページをご覧ください。 注:setfaclのデフォルトの動作は、
--mask
エントリが明示的に指定されていない限り、ACLマスクエントリを再計算することです。 マスクエントリは、ユーザー(所有者以外)およびグループに対して許可される最大の権限を示します。, 明示的に設定しない限り、これはデフォルトグループの権限と一致します。 を明らかにこのように、そのグループを所有するディレクトリr-xアクセス権を表します。 この理由は、Aclをサポートしていないシステムからのファイルが、サポートしているシステムで使用できるようになったときに驚きがないためです。.ヒント:すべてのファイルとディレクトリに再帰的に操作を適用するには、
-R
引数を追加します。,c
#ファイル:abc#所有者:誰か#グループ:someoneuser::rw-user:johnny:r-xgroup::r--mask::r-xother::r--
すべてのACLエントリを削除します。
# setfacl -b abc
権限を確認します。
#getfacl abc
#file:abc#owner:someoneuser::rw-group::r--other::r--
lsコマンドの出力
指定されたファイルのaclがあることに気付くでしょう+
iv id=の出力でunixアクセス許可の後に+
(プラス記号)が表示されるため、指定されたファイルのaclがあることに気付くでしょう”9c35d978ec”>
.,
$ls-l/dev/audio
crw-rw----+ 1 平成14年4月 9 12:49/dev/audio
$getfacl/dev/audio
webサーバーにプライベートファイルの実行権限を付与する
次の手法は、webサーバーのようなプロセスを、ユーザーのホームディレクトリにあるファイルへのアクセスを許可する方法について説明します。,
以下では、webサーバーがユーザーhttp
として実行され、geoffrey
のホームディレクトリ/home/geoffrey
へのアクセスを許可すると仮定します。
最初のステップは、ユーザーに実行権限を付与することですhttp
:
# setfacl -m "u:http:--x" /home/geoffrey
注:ディレクトリに対する実行権限は、ディレクトリのコンテンツを,
ユーザーhttp
/home/geoffrey
内のファイルにアクセスできるようになったため、他のユーザーはアクセスする必要がなくなりました。
# chmod o-rx /home/geoffrey
getfacl
変更を確認するには、
$getfacl/Home/geoffrey
上記の出力が示すように、other
の権限はなくなりましたが、ユーザーhttp
はまだファイルにアクセスできるため、セキ,
も参照してください
- getfacl(1)
- setfacl(1)
- Linux上のPOSIXアクセスコントロールリスト
- ディレクトリ内のすべてのフォルダ/ファイルに対してデフォルトのファイル権限を設定するにはどうすればよいですか?
Leave a Reply