我已经配置了一个dradis服务文件输入/lib/systemd/系统,它被称为dradis服务。这是它的内容:
[Unit]
Description=Dradis web application
[Install]
WantedBy=multi-user.target
[Service]
WorkingDirectory=/usr/lib/dradis
ExecStart=/usr/bin/bundle exec rails server
Type=simple
User=user
Group=user
用户位于 sudoers 组中。
问题是当我尝试启动服务时sudo 服务启动 dradis命令
观察日志须藤journalctl -u dradis -f:
Started Dradis web application.
Faraday::Builder is now Faraday::RackBuilder.
Rails Error: Unable to access log file. Please ensure that /usr/lib/dradis
/log/development.log exists and is writable (ie, make it writable for user and group: chmod 0664 /usr/lib/dradis/log/development.log). The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.
/usr/lib/dradis/config/initializers/resque.rb:3:in `initialize': Permission denied @ rb_sysopen - /usr/lib/dradis/log/resque.log (Errno::EACCES)
以指定的命令为例dradis服务文件,/usr/bin/bundle 执行 Rails 服务器:
- 如果在/usr/lib/dradis作为用户我会执行sudo /usr/bin/bundle 执行 Rails 服务器一切进展顺利;
- 如果在/usr/lib/dradis作为用户我会执行/usr/bin/bundle 执行 Rails 服务器我遇到了同样的错误;
我的配置文件错误在哪里dradis服务为了使用 sudo 服务启动 dradis?我哪里有错误的想法?
答案1
既然您显然需要将其运行为root
(使用sudo
),为什么不删除:
User=user
Group=user
从您的服务档案中? System D 服务文件的运行就像root
没有另行通知一样。