おそらくこれを変えなければならないようです。私のニーズを満たす最も安全な方法は何ですか?
詳細
WinSCPを使用してApache document_rootを修正しています。 /var/www/html ディレクトリの所有者とグループはルートです。 WinSCPではsudo -sにパスワードが必要なため、これらのファイルを変更するにはrootとしてログインする必要があります。私はrootとしてリモートでログインしたくないので、/var/www/htmlにパスワードを必要としないsudoerを追加したいと思います。それは可能ですか?
答え1
Sudoは仕事に適したツールではありません。アクセス可能なファイルではなく実行できるコマンドを制御します。
操作に適したツールはファイル権限です。アクセス制御リストUnixの既存のユーザー/グループ/その他の権限では十分ではありません。
グループを作成し、名前を付けwebroot
て、グループにそのディレクトリ/var/www/html
とファイルを所有させます。
sudo addgroup webroot
chgrp -R /var/www/html
chmod -R g+ws /var/www/html
ディレクトリのビットs
により、ファイルはディレクトリからグループの所有権を継承します。また、そのファイルがグループ書き込み可能であることを確認する必要があります。
/var/www/html
ファイルをアップロードしたアカウントを使用してアクセスするには、そのアカウントをwebroot
グループに追加します。
sudo adduser iusemagentonow webroot
新しく作成されたファイルのグループ所有権とグループ書き込み権限を維持するのが難しい場合は、代わりにACLを使用してくださいchgrp
。
sudo setfacl -d -R group:webroot:rwX /var/www/html
sudo setfacl -R group:webroot:rwX /var/www/html
/var/www/html
Apacheまたは使用しているWebサーバーを実行しているユーザーとグループは、そのサーバー上のファイルに書き込まないでください。 Webサーバーを実行しているユーザーは、Webアプリケーションが更新する必要があるデータファイルを除くすべてのファイルに書き込めないようにする必要があります。特に、Webサーバーが実行可能ファイルを作成することを許可しないでください。これにより攻撃が容易になります。