これが私がしたことです:
- CentOS 6.2サーバー
- nginxがインストールされました
- vsftpdのインストール
- vsftpd.confで私は設定しました。
chroot_local_user=YES
- 新しいユーザー「bleh」を作成しました。
- ディレクトリの作成
/home/bleh/public_html/
- virtual.confでは、location / {ルートを次のように設定しました。
/home/bleh/public_html/
- やっとやった
chmod 755 /home/bleh/
これは安全ですか?これは許されますか?
rootとして使用しようとすると、さまざまな権限の問題が発生しました/var/www/
。上記の作業が完了し、サーバーからデータを転送しています。
答え1
これはいくつかの理由でセキュリティが脆弱になる可能性があります。
/var
または、/var/www
この独自のパーティションにある場合は、特別な制限が適用されインストールされている可能性があります。たとえば、noexec
またはオプションを使用してインストールされている可能性がありますnosuid
。/home
これらの制限はないかもしれません。ほとんどの場合、Webサイトがホストされているディレクトリは誰でも読むことはできません。通常、コンテンツの所有者とグループのみを読むことができるように設定する必要があります。 Webサーバーは、これらのファイルを読み取ることができるユーザーとして実行する必要があります。
サーバーデータとユーザーデータを混在させると、意図しない重要なデータホスティングが発生する可能性があります。たとえば、誤ってユーザー
blah
のデータをホストすることがあります。