Vermeiden Sie Ruby-Skripte, die einen Ordner mit 777 erfordern

Vermeiden Sie Ruby-Skripte, die einen Ordner mit 777 erfordern

Ich führe ein Ruby-Skript aus, das enthält

unless File.writable?(".")
    problems << ["Directory /path/to/htdocs needs write access"]

das Problem ist, nur wenn ich setze

chmod 777 /Pfad/zu/htdocs

es funktioniert, aber ich habe gelesen, dass man eigentlich nichts mit 777 machen sollte.

Wie kann ich dieses Problem umgehen, damit der Code mit 755 statt mit 777 ausgeführt wird?

Antwort1

Es besteht nie die Notwendigkeit, die 777 zu verwenden. Sie können jedoch herausfinden, wo das Problem liegt:

  • Wenn es mit 777 und nicht mit 770 funktioniert, verwenden Sie in Ihrer Umgebung einen unbekannten Benutzer. Wechseln Sie zu einem bekannten Benutzer und es funktioniert mit 770.
  • Wenn es mit 770 funktioniert, aber nicht mit 700, verwenden Sie in Ihrer Umgebung eine unbekannte Gruppe. Gleiche Lösung: Stellen Sie die Umgebung auf eine bekannte Gruppe ein.

Apache2, Nginx oder was auch immer Sie zum Ausführen von Skripten verwenden, haben in ihrer Konfiguration einen Benutzer und eine Gruppe festgelegt. Suchen Sie den verwendeten Benutzer und die verwendete Gruppe und ändern Sie Ihr Skript in diesen Benutzer und diese Gruppe. Sie benötigen dann nur noch 700 oder 750.

verwandte Informationen