私はRubyスクリプトを実行しています。
unless File.writable?(".")
problems << ["Directory /path/to/htdocs needs write access"]
問題は、私が設定した場合だけです
chmod 777 /path/to/htdocs
それは機能しますが、実際には何もすべきではないと読みました。
では、この問題を回避して、コードを 777 ではなく 755 で実行するにはどうすればよいでしょうか?
答え1
777 を使用する必要はありません。ただし、問題が何であるかを調べることはできます。
- 770 ではなく 777 で動作する場合、環境内で不明なユーザーを使用しています。既知のユーザーに変更すると、770 を使用して動作します。
- 770 では機能するが 700 では機能しない場合は、環境内で不明なグループを使用しています。同じ修正方法: 環境を既知のグループに設定します。
したがって、apache2、nginx、またはスクリプトの実行に使用するものには、その構成にユーザーとグループが設定されます。使用されているユーザーとグループを見つけて、そのユーザーとグループに合わせてスクリプトを変更すれば、必要なのは 700 または 750 だけです。