777이 포함된 폴더가 필요한 Ruby 스크립트를 사용하지 마세요.

777이 포함된 폴더가 필요한 Ruby 스크립트를 사용하지 마세요.

다음을 포함하는 Ruby 스크립트를 실행 중입니다.

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

문제는 내가 설정한 경우에만

chmod 777 /경로/to/htdocs

그것은 작동하지만 실제로는 아무 것도 해서는 안 된다는 것을 읽었습니다.

그렇다면 코드가 777 대신 755로 실행되도록 하려면 이 문제를 어떻게 피할 수 있습니까?

답변1

777을 사용할 필요는 없습니다. 그러나 문제가 무엇인지 알아낼 수 있습니다.

  • 777에서는 작동하지만 770에서는 작동하지 않는다면 환경에서 알 수 없는 사용자를 사용하고 있는 것입니다. 알려진 사용자로 변경하면 770을 사용하여 작동합니다.
  • 770에서는 작동하고 700에서는 작동하지 않는다면 환경에서 알 수 없는 그룹을 사용하고 있는 것입니다. 동일한 수정: 환경을 알려진 그룹으로 설정합니다.

따라서 apache2, nginx 또는 스크립트를 실행하는 데 사용하는 모든 항목에는 구성에 사용자와 그룹이 설정됩니다. 사용된 사용자 및 그룹을 찾아 스크립트를 해당 사용자 및 그룹으로 변경하면 필요한 것은 700 또는 750뿐입니다.

관련 정보