非ルート ユーザーを使用して次の操作を実行する特定のスクリプトを実行しています...
mkdir: cannot create directory `/srv/www/example.com/releases'
*** [err :: 12.23.45.789] : Permission denied
ユーザー xyz に永続的な権限を与えて、この Web サーバーを安全に保つにはどうすればよいですか? また、すべてのサブフォルダーに対してこれを再帰的に実行することは可能ですか?
おそらく chmod の何かだと思いますが、私は Linux にそれほど詳しくないので、よろしくお願いします。
答え1
標準的な方法は、ユーザーを Web サーバーの標準グループのメンバーにすることです。
Debian ベースのサーバーでは、Web サービスには通常、www-data
同じ名前のユーザー ID とグループ ID があります。
通常、サブwww
フォルダーはすべてこのユーザー/グループに属している必要があります。
グループにユーザーを追加すると、www-data
そのユーザーは必要に応じてフォルダーやファイルを作成および変更できるようになります。
もちろん、これはユーザーが www-data が所有するすべてのフォルダーにアクセスできることを意味しますが、これは正しくない可能性があります。
ls -l
のコマンドの出力を提供していただければ助かります/srv/www/example.com/
。必要に応じてユーザー名/グループ名を変更できます。