FTPおよびApacheの権限の構成


10

FileZillaを使用してアクセスするWebサーバー(Apache2)があります。

私のWebサーバーには、/ var / wwwにバインドしたdir / home / admin / wwwがあります。FTPでアクセスできます。これは完璧に機能します!

しかし、Webサーバーを再起動するたびに、何度もバインドする必要があります。これらのマップを常にバインドする必要があるとWebサーバーに言うことはできませんか?また、すべての権限を毎回リセットする必要がありますが、何が問題ですか?

回答:


13

より良い、より安全なソリューション(インターネットが管理者のホームフォルダーにアクセスすることに不安を感じる!)は、/にwebrootフォルダーを作成することです。

ターミナルタイム!

cd /
sudo mkdir /webroot
sudo groupadd webdev
sudo usermod -a -G webdev yourusername 
sudo chown www-data:webdev /webroot/

ここで、Apacheを、Apache構成の下部にある新しいドキュメントルート/ webrootにポイントします。これはここにあります:/etc/apache2/apache2.conf

sudo nano /etc/apache2/apache2.conf

保存にCTRL-O、慣れていない場合はCTRL-Xでnanoを終了します。

単純に置き換えるDocumentRoot /var/www//webroot/

今すぐウェブファイルをウェブルートにコピーします。

sudo /etc/init.d/apache2 reload

これでApacheが再起動し、すべての構成がロードされているはずです。

これにより、ルートにwebrootというディレクトリが作成され、apache2が所有します。グループの所有者は、新しいグループwebdevであり、これにユーザーがメンバーとして追加されます(これにより、グループが置き換えられることはありません!)。これにより、FTPでファイルを編集できます。

これは、1つのWebサイトのApacheサーバー用の非常にシンプルなソリューションです。複数のサイトを実行する予定がある場合は、さらに作業が必要です(たとえば、webrootでサイトごとに個別のフォルダーを作成する)

これの利点は、誰かが脆弱性を見つけた場合、ホームフォルダーではなくwebrootフォルダーにロックされることです!また、これ以上ユーザーがサイトを変更できるようにする必要がある場合は、そのユーザーをwebdevグループに追加できます。sudo usermod -a -G theirusername webdev

お役に立てれば!

敬具


問題ではありません:)私が与えた答えをよりよく反映するようにタイトルの名前を変更してもよろしいですか?
Laice、

間違いなく:-)
Ontwikkelaar Bijデバッグ済み

何らかの理由で、コマンドを使用したときにそのようなユーザーwebdevを取得していなかった> sudo groupadd webdev私はこれを試しましたが、動作したようです。とにかく/ etc / groupファイルにユーザーを追加しました。sudo usermod -a wwwlogin -G webdev
Benaiah

これは私のせいでした。私の答えでは、誤ってユーザーとグループを切り替えましたが、これはデーモンによって修正されました。
Laice

@Damon、適切なアクセス許可を設定して、所有者(www-data)とグループ(webdev)がディレクトリの場合と同じように同じアクセス許可を持つようにする必要があると思います。 )ファイルの場合。
Eduardo B. 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.