完全なLinuxフォルダの分離

完全なLinuxフォルダの分離

こんにちは、Linuxユーザーの皆さん。私はDebian 11を使用しています。複数のサイトを持つnginx Webサーバーを実行しています。各サイトのルートディレクトリは、特定のユーザーが所有しています。私の目標は、あるユーザーのネットワークファイルを他のユーザーに完全に見えないようにすることです。user1所有し/var/www/site1user2所有してください/var/www/site2user1フォルダが存在することがわかりますが、その人がディレクトリにsite2アクセスしたり、その中にあるファイルにアクセスしたくありません。lsディレクトリが他のユーザーに完全に不透明になることを望みます。

まず、そのディレクトリの権限をに変更しましたが750、Webサーバーのユーザーはwww-dataそのフォルダの内容にアクセスできませんでした。その後、読み取りアクセスを許可するようにACLを設定しましたwww-data

私の(クレイジー)効果的なステップ:

chown -R user1: .
find . -type f -exec chmod 640 {} +
find . -type d -exec chmod 2750 {} +
setfacl -Rdm u::rwx,g::rx,o::0,u:www-data:rx .   # this didn't set up ACLs for individual files, hence the next line
find . -type f -exec setfacl -m u::rw,g::r,o::0,u:www-data:r {} +

質問:他のユーザーを制限しながら、Webサーバーがフォルダのコンテンツにアクセスできるようにする簡単な方法はありますか?それとも私が取ったよりも簡単なステップはありますか?

(注:ユーザーをグループwww-dataに追加しようとしましたuser1が、その逆も同様です。グループに読み取り権限があり、nginxが実行されていても、user www-data www-data;nginxはまだフォルダの内容にアクセスできません...)

ベストアンサー1

おすすめ記事