私は基本的に小さなデータプロジェクトとファイルをホストするために小さなWebサーバーを運営しています。サーバーにはパブリックIPアドレスがあります。
FTPを介して直接ファイルをアップロードできるようにしたいので、ユーザーがパスワードを持って直接ログインできる/var/www/*
ようにすることを検討しています。www-data
これにより、Webディレクトリで作業を実行するたびにファイルの所有権を変更する必要もなくなります(現在はrootとしてこれを行うため、セキュリティ上のリスクもあります)。
www-data ユーザーがログインできるようにすると、セキュリティ上のリスクはありますか?それでは、最良の選択は何ですか?
答え1
1つのセキュリティリスクは、Webサーバー自体を殺すことも、別の方法で破棄することができることです(同じユーザーを使用するため)。これはおそらく欲しいものではありません。ルートを使用する場合も同様です。
2つの解決策:
あなた自身のためのサブディレクトリを作成し
/var/www
、自分自身にchownして、自分のユーザーを使用してください。 (または新規作成)例:
root@box# mkdir /var/www/joes-toys root@box# chown joeuser:joegroup /var/www/toys root@box# chmod u=rwx,g=rx,o=rx
あなたのユーザー(自分または新しいユーザー)をwww-dataグループに入れ、グループに書き込み権限があることを確認してください。
/var/www
例:
root@box# adduser joeuser www-data root@box# chgrp -R www-data /var/www root@box# chmod -R g+w /var/www
PS:今、暗号化されていないFTPを使用しないでください! sftp(sshファミリで)または少なくともftps(sslを介したftp)を使用してください。
答え2
デーモンは多くの理由でログインに失敗することがよくあります。何よりも安全が重要な問題です。 www-data
多くのプラットフォームでWebサーバーを実行している場合は、システムがそれを使用できるとします。そのユーザーIDでログインできると、Webサーバーおよび/またはそのコンテンツが簡単に破損する可能性があります。 (マルウェアの提供を考えてください。)
これらのファイルはないのが最善ですwww-data
。重要なことは、www-data
ファイルを読み取ることができるということです。同じグループでユーザーIDを作成し、そのユーザーにFTPアクセスを許可することを検討してください。セキュリティを強化するには、Webサーバーが書き込むことができるディレクトリをできるだけ少なくしてください。