Безопасно ли мое решение для кэширования? - PullRequest
1 голос
/ 21 февраля 2012

Я использую Rails 3.1 в Ubuntu 10.04 для Nginx и Passenger.

В своих журналах я видел много следующего:

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
    root@y:/var/www/redmeetsblue/current/tmp# cd b27
    -bash: cd: b27: No such file or directory
    root@y:/var/www/redmeetsblue/current/tmp# cd B27
    -bash: cd: B27: No such file or directory
    root@y:/var/www/redmeetsblue/current/tmp# chown -R nobody cache
    root@y:/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

1 Ответ

2 голосов
/ 21 февраля 2012

Пользователь nobody обычно используется как владелец демонов Unix, так что у него достаточно разрешений для выполнения своей работы, но не слишком много, чтобы выполнять потенциально разрушительные действия.Запустив демон под учетной записью пользователя, он, например, не сможет писать в системные журналы.Запуск его под привилегированной учетной записью, такой как root, дает процессу разрешение на это, но также и на все остальное.Таким образом, если процесс вашего демона скомпрометирован, у злоумышленника будет гораздо больше свободы владеть вашим сервером.Сервер также может запускаться с правами root (необходимо, например, для привязки к TCP-порту 80), а затем передавать свои права никому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...