2014-04-08 2 views
0

Ruby on Rails 웹 사이트가 있습니다. 그것은 다음과 같은 오류를 표시하기 시작했다 지난 몇 주에 갑자기 다음, 몇 달 동안 문제없이 작업했다 :Ruby on Rails : 몇 시간 작동 후 Errno :: EACCES

Errno::EACCES in WelcomeController#index 
Permission denied - /home/userName/appName/app/views/layouts/application.html.erb 
이 명령 '터치 TMP/restart.txt'를 실행하여 고정

하지만, 문제는 몇 시간 후에 다시 나타납니다.

무엇이 문제의 원인인지를 로그에서 볼 수는 없지만 Ruby on Rails 개발자가 아니기 때문에 무엇을 찾아야할지 모르겠습니다.

개인적으로 사이트가 의도적으로 방해를 받았다고 의심되는 일부 의문이 있습니다.

누군가가 내가 문제를 해결하는 데 도움을 줄 수 있다면 정말 고마워 할 것입니다.

답변

0

tmp 디렉토리의 사용 권한/사용자가 올바르게 설정되어 있습니까? this answer에 따르면 chmod 777을 사용하면 문제를 해결할 수 있습니다.

sudo chmod 777 tmp 

어쨌든 apache/nginx는 /home/userName/appName/app/views/layouts/application.html.erb을 읽을 수 있습니까? 당신이 말했듯이, 그것은 라이브 코드를 변경하는 누군가가 될 수 있습니다. 따라서 권한/소유권을 모르게 변경합니다.

+0

로그 파일을 777로 변경하려고했지만 도움이되지 않았습니다. 그러나 나는 /home/userName/appName/app/views/layouts/application.html.erb에 700 개의 권한이 있다는 것을 알았습니다. 그것은 이상하게 보입니다. 그래서 다른 파일과 마찬가지로 파일을 644로 변경했습니다. 문제가 해결 된 것 같습니다. 며칠 동안 모니터하고 문제가 다시 발생하지 않으면이 질문에 답변으로 표시 할 것입니다. 내가 이해할 수없는 것은이 문제가 방금 시작된 이유와 간헐적으로 나타나는 이유입니다. –

+0

잘못된 파일 권한 집합을 가진 다운 스트림 사용자 중 하나 일 수 있습니다. 로컬에서 체크 아웃 한 리포 사본에서 권한을 확인하면 권한이 잘못 체크 된 것일 수 있습니다. 이 경우이를 정정하고 커밋을하십시오. –

+0

application.html.erb의 권한을 변경하면 수정 된 것으로 보입니다. 이것이 처음에 문제가 된 이유는 수수께끼이지만 문제 해결에 도움을 주셔서 감사합니다! –