Избегайте скриптов Ruby, требующих папку с правами 777

Избегайте скриптов Ruby, требующих папку с правами 777

Я запускаю скрипт Ruby, который содержит

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

проблема в том, что только если я установлю

chmod 777 /путь/к/htdocs

это работает, хотя я читал, что на самом деле не стоит ничего 777-ить.

Как же обойти эту проблему, чтобы код запускался с кодом 755 вместо 777?

решение1

Никогда не нужно использовать 777. Однако вы можете выяснить, в чем проблема:

  • если работает с 777 и не работает с 770, значит вы используете неизвестного пользователя в своей среде. Измените на известного пользователя, и все заработает с 770.
  • если работает с 770 и не работает с 700, значит, в вашей среде используется неизвестная группа. То же самое исправление: установите среду на известную группу.

Итак, apache2, nginx или что бы вы ни использовали для выполнения скриптов, в его конфигурации будут установлены пользователь и группа. Найдите используемого пользователя и группу и измените свой скрипт на этого пользователя и группу, и все, что вам понадобится, это 700 или 750.

Связанный контент