ACLを使用して、Apacheのさまざまなインスタンスおよびさまざまな管理者グループのWebの個々のルートへのアクセスを制御しています。特定のWebサイトの管理者用のUnixグループadmins-web22
と、Apacheの特定のインスタンス用のユーザーApache-web22
があります。これらは、Webのルートディレクトリに設定されているアクセス許可です。
# 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
admins-web22
のメンバーであるユーザーfred
がいます。このユーザーは、ディレクトリへの完全な読み取り/書き込みアクセス権を持っています(上記のとおり)。これは正しく機能します。ただし、このユーザーは、一部のファイルとディレクトリに対してユーザーApache-web22
に書き込み権限を付与できません。これは重要です(たとえば、Web管理者がDrupalのアップロードディレクトリを設定したい場合)。 setfacl
コマンドは、「操作は許可されていません。」を指定します。
私の質問は、setfacl
を使用して特権を付与できるのは誰か、グループadmins-web22
のユーザーに(Apache-web22
の)権限を自分で変更させるにはどうすればよいですか?
私はDebianWheezyを実行していますが、重要な場合はext4パーティションです。
setfacl
のマニュアルページでは、特権を付与できるユーザーについて説明しています。
CAP_FOWNER
が可能なファイル所有者とプロセスには、ファイルのACLを変更する権利が付与されます。これは、ファイルモードにアクセスするために必要なアクセス許可に類似しています。 (現在のLinuxシステムでは、rootはCAP_FOWNER
機能を持つ唯一のユーザーです。)
したがって、fred
は彼が所有するファイルに対してのみsetfacl
を使用できます。正確なセキュリティ要件によっては、admins-web22
のメンバーがsetfacl
をApache-web22
として実行できるようにすることができます(Sudo
を使用)。これにより、メンバーを変更できます。 Apache-web22
...が所有するファイルのACL。