현재 모든 디렉토리와 파일에 0777
을 설정했습니다.
그러나 나는 다른 사람들이 접근하는 것이 두렵다.
로그 파일과 구성에있는 모든 컨트롤러, 모델, 뷰 및 파일이 0777
Rails 앱에 대한 권한을 어떻게 설정해야합니까?
으로 설정됩니다. 일반적으로 어떻게 설정해야합니까?
- 로그 파일 디렉토리 및 파일
- 컨트롤러 파일
- 모델 파일 config 디렉토리에
- 보기에 앞장 설
- 파일
현재 모든 디렉토리와 파일에 0777
을 설정했습니다.
그러나 나는 다른 사람들이 접근하는 것이 두렵다.
로그 파일과 구성에있는 모든 컨트롤러, 모델, 뷰 및 파일이 0777
Rails 앱에 대한 권한을 어떻게 설정해야합니까?
으로 설정됩니다. 일반적으로 어떻게 설정해야합니까?
당신은 확실히 당신의 파일을 0777
을 사용해서는 안 사용 권한. 이렇게하면 취약점에 쉽게 노출됩니다. rwxr-xr-x
에 동일시하는 0755
를 사용하여 폴더를
: 일반적으로
는이 원리를 따릅니다. 실행 권한을 통해 폴더 내용을 볼 수 있습니다.
찾기가/당신의/레일/디렉토리 타입 D 간부 chmod를 755 {} + 실행 스크립트
, 또한 0755
를 사용합니다. 이를 통해 누구나 스크립트를 실행할 수는 있지만 스크립트를 변경 (쓰기) 할 수는 없습니다.
다른 모든 파일의 경우 과 같은 0644
을 사용하십시오. 이렇게하면 모든 사람이 파일을 읽을 수 있고 소유자는 파일에 쓸 수 있으며 아무도 파일을 읽을 수 없습니다. 이렇게하면 악성 스크립트가 업로드되고 실행되는 것을 방지 할 수 있습니다.
발견은/당신의/레일/디렉토리 타입 F 간부 chmod를 644 {} +
선택적으로, 암호를 포함하는 파일은 당신이 더 제한적인 권한, 특히config/database.yml
또는 메일 같은 것들에 대한 암호가 포함 된 파일을 고려할 수서비스 (mandrill, sendgrid, postmark), Amazon S3 버킷 또는 Redis 연결. 이 파일의 경우 0600
을 사용할 수 있습니다.
프로덕션 환경에서는 레일즈 응용 프로그램이 이러한 파일을 모두 소유하는 동일한 사용자 (루트가 아닌 사용자)로 실행되어야합니다. 이는 passenger, unicorn을 사용하거나 mongrel이나 webrick과 같은 웹 서버를 localhost:3000
과 같은 포트에서 수신하고 localhost:3000
에 대한 Apache 또는 Nginx 역방향 프록시를 사용하는 로컬 사용자로 실행하면 가장 쉽게 수행 할 수 있습니다.
감사합니다. 이것은 내가 결코 생각하지 못했던 것이다. 다시 한 번 감사드립니다 :) – HUSTEN
이 사례를 알려주실 수 있습니까? 'config/databases.yml','config/environments/production.rb','config/databases.ymb','config/.rb' 디렉토리와'tmp' 디렉토리의 파일들 – HUSTEN
디렉토리에'0755', 파일에'0644'를 적용하십시오. – Benjamin