Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
アクセス制御リストのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
アクセス制御リスト
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:セキュリティ]] [[en:Access Control Lists]] [[ru:Access Control Lists]] アクセス制御リスト ('''A'''ccess '''C'''ontrol '''L'''ist, ACL) はファイルシステムに柔軟性のあるパーミッション機構を追加します。{{ic|UNIX}} のファイルパーティションを補助する形で設計されています。ACL を使うことであらゆるディスクリソースのパーミッションをあらゆるユーザーやグループに与えることが可能です。 == インストール == 必要パッケージである {{Pkg|acl}} は [[systemd]] の依存パッケージであるため、既にインストールされているはずです。 == 設定 == === ACL の有効化 === ACL を有効にするには、ファイルシステムを {{ic|acl}} オプションでマウントする必要があります。[[fstab]] を使えばオプションを永続化させることができます。 ファイルシステムのデフォルトマウントオプションによっては {{ic|acl}} オプションが既に有効になっているかもしれません。[[Btrfs]] ではデフォルトで有効であり、ext ファイルシステムでも有効になっていることがあります。以下のコマンドを使って ext* でフォーマットするときのパーティションのオプションを確認してください: {{hc|# tune2fs -l /dev/sd''XY'' <nowiki>|</nowiki> grep "Default mount options:"| Default mount options: user_xattr acl }} そしてデフォルトのマウントオプションが上書きされていないかも確認してください。{{ic|/proc/mounts}} の適当な行に {{ic|noacl}} と記述されていればオプションが変更されています。 ファイルシステムのデフォルトマウントオプションは {{ic|tune2fs -o ''option'' ''partition''}} コマンドを使って設定できます、例えば: # tune2fs -o acl /dev/sd''XY'' 特に外部ドライブに設定するときは、他の Linux マシンからも {{ic|acl}} オプションを使ってパーティションをマウントすることがある場合、{{ic|/etc/fstab}} にエントリを記述するよりもデフォルトマウントオプションを使うほうが便利です。全てのマシンの {{ic|/etc/fstab}} を編集する必要がなくなります。 {{Note| * ext2/3/4 ファイルシステムの作成時に {{ic|acl}} はデフォルトのマウントオプションとして指定されます。この設定は {{ic|/etc/mke2fs.conf}} から変えられます。 * デフォルトのマウントオプションは {{ic|/proc/mounts}} には記載されません。 }} === ACL の設定 === ACL を修正するには {{ic|setfacl}} コマンドを使います。パーミッションを追加するには {{ic|setfacl -m}} を使います。 ユーザーにパーミッションを追加: # setfacl -m "u:username:permissions" または: # setfacl -m "u:uid:permissions" グループにパーミッションを追加: # setfacl -m "g:groupname:permissions" または: # setfacl -m "g:gid:permissions" すべてのパーミッションを削除: # setfacl -b 個別のエントリを削除: # setfacl -x "entry" パーミッションを確認するには、次を使用: # getfacl filename == サンプル == "abc" という名前のファイルに対するユーザー johny のパーミッションを設定: # setfacl -m "u:johny:rwx" abc パーミッションの確認: {{hc|# getfacl abc| # file: abc # owner: someone # group: someone user::rw- user:johny:rwx group::r-- mask::rwx other::r-- }} ユーザー johny のパーミッションを変更: # setfacl -m "u:johny:r-x" abc パーミッションを確認: {{hc|# getfacl abc| # file: abc # owner: someone # group: someone user::rw- user:johny:r-x group::r-- mask::r-x other::r-- }} 全ての拡張 ACL エントリを削除: # setfacl -b abc パーティションを確認: {{hc|# getfacl abc| # file: abc # owner: someone # group: someone user::rw- group::r-- other::r-- }} === ls コマンドの出力 === 特定のファイルに ACL が存在するかどうかは {{ic|ls -l}} の出力で Unix のパーミッションの後に {{ic|'''+'''}} (プラス記号) があるかどうかで見分けられます。 {{hc|$ ls -l /dev/audio| crw-rw----+ 1 root audio 14, 4 nov. 9 12:49 /dev/audio }} {{hc|$ getfacl /dev/audio| getfacl: Removing leading '/' from absolute path names # file: dev/audio # owner: root # group: audio user::rw- user:solstice:rw- group::rw- mask::rw- other::--- }} == ウェブサーバーにプライベートなファイルの実行権限を与える == ウェブサーバーなどのプロセスに、ユーザーのホームディレクトリにあるファイルへのアクセス権を与える方法を以下で説明します。全てのファイルにアクセスする権限を与えるのではなく制限をかけることでセキュリティを担保しています。 このセクションでは、例として、ウェブサーバーを実行するユーザーは {{ic|webserver}} で、アクセスできるようにするのは {{ic|geoffrey}} のホームディレクトリである {{ic|/home/geoffrey}} と仮定します。 最初に実行権限を {{ic|webserver}} に与えて {{ic|geoffrey}} のホームにアクセスできるようにします: # setfacl -m "u:webserver:--x" /home/geoffrey ''注意'': ディレクトリの中身をプロセスが確認するにはディレクトリに実行権限が必要です。 {{ic|webserver}} から {{ic|/home/geoffrey}} のファイルにアクセスできるようになったので、{{ic|other}} は権限が必要ありません: # chmod o-rx /home/geoffrey {{ic|getfacl}} を使うことで変更を確認できます: $ getfacl /home/geoffrey getfacl: Removing leading '/' from absolute path names # file: home/geoffrey # owner: geoffrey # group: geoffrey user::rwx user:webserver:--x group::r-x mask::r-x other::--- 上記の出力で、{{ic|other}} にはもはや権限がなく、{{ic|webserver}} がファイルにアクセスできることが確認でき、セキュリティが確かに向上しています。 == 参照 == * Man ページ - {{ic|man getfacl}} * Man ページ - {{ic|man setfacl}} * An old but still relevant (and thorough) [http://www.vanemery.com/Linux/ACL/linux-acl.html guide] to ACL
このページで使用されているテンプレート:
テンプレート:Accuracy
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Message
(
ソースを閲覧
)
テンプレート:Man
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Tip
(
ソースを閲覧
)
テンプレート:TranslationStatus
(
ソースを閲覧
)
アクセス制御リスト
に戻る。
検索
検索
アクセス制御リストのソースを表示
話題を追加