ユーザーを別の場所の複数のディレクトリに chroot

ユーザーを別の場所の複数のディレクトリに chroot

ユーザーがRWX権限を持つホームディレクトリなどの/etc/httpdディレクトリにのみアクセスできるように制限する方法を知りたいです。/etc/php/var/www/html

また、このユーザーがApacheサービスのみを開始/停止/再起動するように制限したいと思います。

私が考えることができるのはchrootだけでしたが、ディレクトリを使ってそうしました。どんなアイデアがありますか?

ベストアンサー1

刑務所に閉じ込められたユーザーは、これらのフォルダにあるままアクセスできません。ファイルシステムでACLを有効にした場合は、一般ユーザーを作成し、アクセス制御リストを使用してディレクトリへのアクセスを制御できます。

ユーザー「Bob」にディレクトリアクセス権を付与するには、グループを作成し、Bobをグループに配置してから、/ etc / http /にある既存のファイルと新しく作成されたファイルに対するグループアクセス権を繰り返し付与します。

# groupadd WebAccessGroup
# usermod -a -G WebAccessGroup Bob
# setfacl -Rm d:g:WebAccessGroup:rwx,g:WebAccessGroup:rwx /etc/httpd/

グループを作成せずに、ユーザー「Bob」wrxにのみ/ etc / httpdへのアクセスを許可することもできます。

# setfacl -Rm d:u:Bob:rwx,u:Bob:rwx /etc/httpd/

WebAccessGroupグループがApacheを起動および停止できるようにするには、グループにsudoアクセス権を付与して、ルートでApacheを起動/停止したときに呼び出される特定のスクリプトを実行できます。

"visudo" コマンドを使用して、/etc/sudoers ファイルに次の内容を追加します。

# visudo
%WebAccessGroup   ALL=(root)    NOEXEC: /usr/bin/httpd

Bobはsudoを使用してApacheを起動します。

$ sudo /usr/sbin/httpd -k start

**注:非rootユーザー(この例では「他のユーザー」)で非標準ポートでApacheを実行している場合は、All =(root)をAll =(anotheruser)に変更する方が安全で効率的です。 run start 良いコマンドは次のとおりです。

sudo -u anotheruser /usr/sbin/httpd -k start

おすすめ記事