2012-02-21 2 views
1

저는 Nginx와 Passenger의 우분투 10.04에서 Rails 3.1을 실행하고 있습니다. 내 로그에내 캐싱 솔루션 솔루션이 안전합니까?

나는 훨씬 다음으로 볼 수 있습니다 :

cache error: Permission denied - /var/www/redmeetsblue/releases/20120221032538/tmp/cache/B27 

나는 (google advice에서) 사용자의 이름을 변경하여 문제를 해결하지만 보안 문제의 확실 해요. 아무도 없어? 이게 안전합니까?

/var/www/redmeetsblue/current/tmp/cache 
    total 16K 
    drwxr-xr-x 4 www-data root 4.0K 2012-02-20 22:27 . 
    drwxr-xr-x 3 root  root 4.0K 2012-02-20 22:26 .. 
    drwxr-xr-x 54 www-data root 4.0K 2012-02-20 22:27 assets 
    drwxr-xr-x 3 www-data root 4.0K 2012-02-20 22:27 sass 
    [email protected]:/var/www/redmeetsblue/current/tmp# cd b27 
    -bash: cd: b27: No such file or directory 
    [email protected]:/var/www/redmeetsblue/current/tmp# cd B27 
    -bash: cd: B27: No such file or directory 
    [email protected]:/var/www/redmeetsblue/current/tmp# chown -R nobody cache 
    [email protected]:/var/www/redmeetsblue/current/tmp# ls -alh /var/www/redmeetsblue/current/tmp/cache 
    total 16K 
    drwxr-xr-x 4 nobody root 4.0K 2012-02-20 22:27 . 
    drwxr-xr-x 3 root root 4.0K 2012-02-20 22:26 .. 
    drwxr-xr-x 54 nobody root 4.0K 2012-02-20 22:27 assets 
    drwxr-xr-x 3 nobody root 4.0K 2012-02-20 22:27 sass 

사용자를 변경 한 후 캐시가 작동하지만 캐시가 안전하지 않은 것 같습니다. 작업 캐시를 참조하십시오 ..

cache: [GET /assets/grid.png] stale, valid, store 
cache: [GET /dashboards] miss 
cache: [GET /assets/grid.png] stale, valid, store 

답변

2

그들의 일을 할 수있는 충분한 권한을 가질 수 있도록 일반적으로 유닉스 데몬의 소유자로 사용하지만, 잠재적으로 파괴적인 장난 꾸러기를 할로 너무 많이하지의 nobody 사용자. 사용자 계정에서 데몬을 실행하면 예를 들어 syslog에 쓸 수 없습니다. 루트와 같은 권한있는 계정으로 실행하면 프로세스 권한이 부여되지만 다른 모든 권한도 부여됩니다. 따라서 데몬의 프로세스가 손상되면 공격자가 서버를 소유 할 자유가 훨씬 더 커집니다. 서버는 또한 루트 (예 : TCP 포트 80에 바인드하는 데 필요)로 시작한 다음 사용자 nobody에게 권한을 제공하지 않을 수도 있습니다.