新贵:以非特权用户身份运行服务,并以root用户身份启动预启动脚本

基督教

我有以下新贵工作:

description "posty api"


start on mysql
stop on shutdown

env RACK_ENV=production

setuid vmail
setgid vmail

chdir /opt/posty_api

pre-start script
    mkdir -p /var/run/posty
    chown -R vmail:root /var/run/posty
end script

exec /usr/local/bin/unicorn -D -c /opt/posty_api/unicorn.rb --env production >> /var/log/posty/upstart.log 2>&1

post-stop exec kill `cat /var/run/posty/unicorn.pid`

respawn
respawn limit 1 10

要在其中创建文件夹,/var/run我需要root权限。如何以root用户身份运行upstart作业的某些部分,如何以非特权用户身份运行服务本身?

JdeBP

upstart没有与systemdPermissionsStartOnly设置等效的功能在作业的所有进程运行为通过用户设定setuid,如食谱说。

daemontools方式也是如此。

使用setuidgidsetuidgids6-setuidgidchpstrunuid,或setuidgidexec节:

exec \ 
setuidgid某人\ 
unicorn -D -c /opt/posty_api/unicorn.rb --env生产>> /var/log/posty/upstart.log 2>&1

顺便说一下,这是一个糟糕的日志记录机制。该daemontools的方式将有一个适当的,自动循环,rotateable点播,大小皑皑,登录使用multilogmultilogs6-logsvlogdtinylog,或cyclogupstart但是,鉴于其expect机制,将它们与这些元素集成是很棘手的

期望fork
执行器\ 
setuidgid有人\
独角兽-D -c /opt/posty_api/unicorn.rb --env production 2>&1 | \ 
/ usr / local / bin / chdir / var / log / \ 
setuidgid日志\ 
cyclog posty / unicorn /

(这chdir是从nosh包装中装入链的链,并非绝对必要。但这会使事情变得更整洁。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

systemd以组中的非特权用户身份启动

计算引擎启动脚本无法以非root用户身份执行

Systemd无法以root用户身份启动服务

Busybox初始化可以以非特权用户身份启动进程吗

使用Shell环境以非特权用户身份运行脚本的某些部分

是否可以以非特权用户身份运行“ unshare -n [程序]”?

登录时运行脚本,并以用户登录身份(而不是root用户)运行脚本

以非特权用户身份使用 postgres 扩展

如何在启动时以非root用户身份运行python脚本

ansible剧本:无法以root用户身份启动服务

如何以非root用户身份启动运行级别3?

我必须以root用户身份运行./odoo.py而不是仅启动odoo服务

以用户身份在启动时运行脚本

以root用户身份以我的用户身份启动Vim

以特权用户身份运行 Webstorm

以非root用户身份启动Mongodb容器

以特权非管理员用户身份启动服务,出现拒绝访问错误

如何使udisks-glue在启动时运行并以特定用户身份安装驱动器?

以root以外的用户身份运行systemd服务!

如何使用ubuntu的UPSTART功能重新启动python脚本而不以root用户身份启动?

以root用户身份在启动应用程序中执行用户脚本

如何在启动时启动以root用户身份运行的plist代理

无法启动vsftpd。vsftpd:必须以root用户身份启动

以非特权用户身份运行时,meld无法访问/ dev / fd / *的可能原因?

以非特权用户身份安装Debian软件包

以非特权用户身份交叉编译FreeBSD软件包

以用户身份安装Clang(无Root特权)?

运行Shell脚本时提示用户以root用户身份登录

使用sudoers允许非特权用户重新启动apache