web-dev-qa-db-ja.com

ACL権限を変更できるのは誰ですか?

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パーティションです。

6
Jan Hadáček

setfaclのマニュアルページでは、特権を付与できるユーザーについて説明しています。

CAP_FOWNERが可能なファイル所有者とプロセスには、ファイルのACLを変更する権利が付与されます。これは、ファイルモードにアクセスするために必要なアクセス許可に類似しています。 (現在のLinuxシステムでは、rootはCAP_FOWNER機能を持つ唯一のユーザーです。)

したがって、fredは彼が所有するファイルに対してのみsetfaclを使用できます。正確なセキュリティ要件によっては、admins-web22のメンバーがsetfaclApache-web22として実行できるようにすることができます(Sudoを使用)。これにより、メンバーを変更できます。 Apache-web22...が所有するファイルのACL。

3
Stephen Kitt