UbuntuサーバーをWebサーバーとして利用したいのですが、設定のベストプラクティスに従うようにします。最適な場所にディレクトリを設定し、そのフォルダーに適切なセキュリティを構成する方法を理解したい。サーバーにFTPでファイルをWebフォルダーにプッシュできるようにしたいので、PureFTPdユーザーがWebフォルダー内のファイル/ディレクトリを操作できるようにする方法を理解したいと思います。
UbuntuサーバーをWebサーバーとして利用したいのですが、設定のベストプラクティスに従うようにします。最適な場所にディレクトリを設定し、そのフォルダーに適切なセキュリティを構成する方法を理解したい。サーバーにFTPでファイルをWebフォルダーにプッシュできるようにしたいので、PureFTPdユーザーがWebフォルダー内のファイル/ディレクトリを操作できるようにする方法を理解したいと思います。
回答:
私のユーザーがストレートに物事をSFTPことができるように、私は自分のサーバー上で何をしたか/var/www
であります:
sudo chgrp -R www-data /var/www
sudo usermod -aG www-data $(whoami)
sudo chmod -R 775 /var/www/*
sudo chmod 2775 /var/www
これにより、ユーザーは/ var / wwwおよびそのすべての子ディレクトリのグループ所有権を持つグループに追加され、グループ書き込みアクセスを許可するために/ var / wwwのすべてが再帰的に設定され、/ var / wwwディレクトリのsetgidビットが設定されますそのため、後で/ var / wwwの下に作成されるすべてのファイルは、グループを作成者のプライマリグループに設定するのではなく、同じグループ所有権を維持します。
www-data
。その結果、Webサーバースクリプトが侵害されると、その下のファイル/var/www
が変更される可能性があります。のwww-data
ようなものに変更するだけですweb-users
(そして、最初にそのグループを作成しますsudo addgroup web-users
)。
これは非常に一般的な質問です。
明らかに、Webサーバーをrootとして実行したくありません。ただし、Ubuntuのインストールでは既に適切な方法で実行されています。
さらに、Apache Webサイトには、ディレクトリを適切に構成するためのヒントがあります。
ftpに関して。ネットワーク経由でユーザー名とパスワードをプレーンテキストで送信しない安全なftpサーバーを使用するようにします。Ubuntuのヘルプページには、このようなftpサーバーのセットアップ方法に関するチュートリアルがあります。
複数のユーザーがサーバーをウェブサーバーとして使用しているUbuntuサーバーのみがある場合、私は/var/www
ディレクトリを/var/www
削除します。これはウェブファイルをグローバルに配置する場所だからです。/etc/skel
ディレクトリを更新し、シンボリックリンクを使用してpublic
and private
フォルダーを追加し、www -> public
すべての仮想ホストDocumentRootsをに更新し/home/<user>/public
ます。
/var/www
複数のユーザーレベルのフォルダーとファイルを配置する場所とは思わない。それが/home/
ディレクトリの設計目的です!パスとディレクトリ構造をきれいに保ちます。