web-dev-qa-db-ja.com

特定のディレクトリ(および子)内のファイルの編集を許可するsudoers config

ユーザーにSudoアクセスを提供し、ファイルの編集のみ、および指定されたディレクトリの下にあるファイルのみに制限するにはどうすればよいですか。たとえば、ユーザーabc/var/www/vhosts/hostabc/とその子のすべてのファイルを編集できるようにしたいと思います。

3
Jonathan Day

sudoeditを使用できます:

%editors_group ALL=(root) sudoedit /var/www/vhosts/hostabc/*

そして、すべてのエディターをeditors_groupに追加します

5

簡単な方法はないようです。 古いメーリングリストの投稿 は、そのような機能が数年前に議論されたことを意味しますが、 現在の変更ログ を見ると、投稿の悲観論は正しく、何も来ていないことがわかりますそれの。

それらのファイルのグループ所有権を変更できますか?可能であれば、chmod g+S /var/www/vhosts/hostabcを使用すると、新しいファイルでもそのグループが取得されます。あるいは、透明性は低くなりますが、ACLを使用することもできます。これらのアプローチにより、Sudoの使用をまったく回避できます。

2
mattdm

または、mattdmの提案を拡張するには、Sudoを使用してroot以外のユーザーにアクセスを許可できることを忘れないでください。この目的のためだけにカスタムユーザーを作成することができます、chown -R customuser:customgroup /var/www/vhosts/hostabc次に、customuserユーザーにuserabcSudo権限を付与します。ユーザーは他の目的には使用されないため、合理的に安全に実行できます。

また、編集はcustomuserユーザーとして行われるため、継承を確保するためにchmod + Sを使用することを心配する必要はありません。

1
MadHatter