Запуск Gunicorn от имени пользователя root - PullRequest
0 голосов
/ 17 октября 2019

Я использую приложение Python с http-сервером Gunicorn. В рамках усиления безопасности мы переходим от пользователя root к выделенному пользователю, выполняющему процесс.

Существуют ли какие-либо файлы (кроме файлов PID / config / app), используемые Gunicorn? Я боюсь, что в ближайшем будущем мы столкнемся с проблемой разрешения доступа к файлам

Ответы [ 2 ]

1 голос
/ 18 октября 2019

Если вы действительно беспокоитесь, вы можете запустить gunicorn с помощью strace и посмотреть, что он откроет. Работа от имени пользователя без полномочий root является довольно стандартной конфигурацией, а gunicorn концептуально довольно прост, поэтому, если он запускается и работает в течение минуты, вы, вероятно, хороши.

Некоторые вещи, о которых вам нужно беспокоитьсяgunicorn - это система сердцебиения, блокирующая все, и не хватает потоков, что приводит к тому, что запросы балансировщика нагрузки не получают ответов. Смотрите здесь для некоторых предложений по исправлению этого: https://pythonspeed.com/articles/gunicorn-in-docker/

0 голосов
/ 29 октября 2019

Gunicorn создает временные файлы в папке проекта:

  File "/home/**/.local/lib/python3.6/site-packages/gunicorn/pidfile.py", line 36, in create
    fd, fname = tempfile.mkstemp(dir=fdir)
  File "/usr/lib64/python3.6/tempfile.py", line 344, in mkstemp
    return _mkstemp_inner(dir, prefix, suffix, flags, output_type)
  File "/usr/lib64/python3.6/tempfile.py", line 262, in _mkstemp_inner
    fd = _os.open(file, flags, 0o600)
PermissionError: [Errno 13] Permission denied: '/src/tmpqg7t98e3'

и, следовательно, владеет корневой папкой проекта, чтобы она работала

...