私はACLを使用して、さまざまなApacheインスタンスとさまざまな管理者グループのさまざまなWebルートへのアクセスを制御します。admins-web22
特定のWebサイトの管理者と特定のapache-web22
Apacheインスタンスのユーザー用のUnixグループがあります。ネットワークルートに設定された権限は次のとおりです。
# file: web22
# owner: root
# group: root
user::rwx
user:apache-web22:r-x
group::rwx
group:webmaster:rwx
group:admins-web22:rwx
mask::rwx
other::---
default:user::rwx
default:user:apache-web22:r-x
default:group::rwx
default:group:admins-web22:rwx
default:mask::rwx
default:other::r-x
fred
のメンバーであるユーザーがいますadmins-web22
。このユーザーは、上記のようにディレクトリに対する完全な読み取りおよび書き込みアクセス権を持ちます。これはうまくいきます。ただし、このユーザーはapache-web22
特定のファイルとディレクトリに対する書き込み権限を付与することはできません。これは重要です(たとえば、Web管理者がDrupal用のアップロードディレクトリを設定しようとしています)。コマンドはsetfacl
「操作は許可されていません」を提供します。
私の質問は誰が許可を使用できるのかsetfacl
、そしてグループのユーザーにadmins-web22
()権限を直接変更させるにはどうすればよいですかapache-web22
?
私はext4パーティションであるDebian Wheezyを実行しています。
答え1
マニュアルsetfacl
ページでは、誰が権限を付与できるかについて説明します。
ファイル所有者と可能なプロセスには、
CAP_FOWNER
ファイルのACLを変更する権限が付与されます。これは、ファイルモードにアクセスするために必要な権限に似ています。 (現在のLinuxシステムでは、ルートのみがこの機能を持つ唯一のCAP_FOWNER
ユーザーです。)
したがって、そのユーザーが所有するファイルfred
にのみ使用できますsetfacl
。特定のセキュリティ要件に応じて、メンバーがを使用admins-web22
して実行できるようにすることができます。これにより、所有するファイルのACLを変更できます。setfacl
apache-web22
sudo
apache-web22