Назад | Перейти на главную страницу

Насколько безопасно разрешить www-data запускать sudo quota?

Я управляю хостингом пользовательской CMS и системы электронной коммерции Software-as-a-Service (SAAS). Эта система питается от кластера серверов LAMP за экземпляром HAproxy, и каждый клиент / домен имеет свою собственную учетную запись unix в кластере и в LDAP. Каждый клиент приобретает определенный объем хранилища данных, которым мы управляем с помощью сервера cPanel, поэтому квоты применяются стандартными квотами ядра Linux / NFS.

Я хочу иметь возможность предоставлять статистику использования дискового пространства в панели управления веб-администратора моих клиентов. В кластере LAMP как root я могу запустить /usr/bin/quota domain.name чтобы получить дисковое пространство, используемое любым заданным доменом. Однако наши экземпляры Apache работают как UID www-data.

Можно ли разрешить www-data бежать sudo /usr/bin/quota с участием NOPASSWD?

Если ваш sudoers конфигурация гарантирует, что /usr/bin/quota это только вещь, которая www-data разрешено запускать с правами root, тогда да, это звучит достаточно безопасно.

Однако это все же более рискованно, чем нужно. Более безопасным подходом было бы создание cron задание для периодического получения этой информации (скажем, каждые 1-5 минут) и вывода ее в файл, который www-data имеет доступ к чтению.

Ответ Майлза правильный ... правильный подход - привязать некоторую систему очереди задач к вашему приложению, и работники проверяют очередь задач на предмет выполнения заданий ... они могут проверять каждую секунду и лучше контролировать пользователя, от имени которого они работают ... Итак, вы можно избежать задержки cron.