Когда я запускаю приложение Nodejs с помощью pm2, другие пользователи сервера не могут получить доступ к процессу.
Даже если я запускаю pm2 из настраиваемого каталога (не текущего пользователя ~/
, то, что pm2 использует по умолчанию):
HOME=/var/www pm2 start app.js
Каталог доступен для любого пользователя (по сравнению с ~/
, но другой пользователь сервера по-прежнему не может получить доступ к процессу.
Когда другой пользователь сервера делает pm2 list
, он показывает, что запущено 0 процессов, но они есть (запущены другим пользователем). И когда другой пользователь пытается HOME=/var/www pm2 list
, CLI выдает ошибку:
events.js:72
throw er; // Unhandled 'error' event
^
Error: connect EACCES
at errnoException (net.js:905:11)
at Object.afterConnect [as oncomplete] (net.js:896:19)
Итак, мне интересно, как убедиться, что пользователи могут получить доступ к процессам pm2, запущенным другими пользователями сервера? Или надо подходить иначе?
Мне интересно, почему каждый пользователь сервера может заставить git pull
развернуть последний исходный код из репозитория Git, но не может после этого перезапустить pm2
процесс? Только пользователь, запустивший pm2
процесс, может его перезапустить… Странно.