777のフォルダを必要とするRubyスクリプトを避ける

777のフォルダを必要とするRubyスクリプトを避ける

私は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 だけです。

関連情報