配置Hypnotoad以使用其他用户/组

时间:2016-07-21 23:37:26

标签: perl mojolicious

我希望使用rootfoobar下启动的Mojolicious::Lite在不同的用户/群组(foobar / app->config( hypnotoad => { listen => ["http://*:$API_Port"], user => 'foobar', group => 'foobar', proxy => 1, } ); 下运行例子)。

我正在使用以下配置调用:

root

不幸的是,似乎所有孩子仍然在root下运行,并且在路线中创建的所有文件也使用0644foobar而不是0664和{{ 1}}。

hypnotoad的文档似乎相当稀疏​​,因为到目前为止我可以找到的唯一更改用户/组的参考是github问题:hypnotoad

2 个答案:

答案 0 :(得分:3)

cpan模块Mojolicious::Plugin::SetUserGroup似乎解决了这个问题:

# Mojolicious::Lite
plugin SetUserGroup => { user => $user, group => $group };

答案 1 :(得分:1)

我得到了简单的解决方案!只需编辑您的Systemd单元文件并添加两个选项:用户和组...

示例:

[Unit]
Description=My Perl service
Requires=network.target
After=network.target
# put here other service requirements

[Service]
User=testuser1
Group=testuser1
Type=simple
Restart=always
SyslogIdentifier=testperlservice
PIDFile=/home/testuser1/tmp/testperlservice.pid
ExecStart=/usr/local/bin/hypnotoad /home/testuser1/script/test -f
ExecStop=/usr/local/bin/hypnotoad -s /home/testuser1/script/test
ExecReload=/usr/local/bin/hypnotoad /home/testuser1/script/test