服务启动问题 Systemd

服务启动问题 Systemd

我已经配置了一个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 服务器

  1. 如果在/usr/lib/dradis作为用户我会执行sudo /usr/bin/bundle 执行 Rails 服务器一切进展顺利;
  2. 如果在/usr/lib/dradis作为用户我会执行/usr/bin/bundle 执行 Rails 服务器我遇到了同样的错误;

我的配置文件错误在哪里dradis服务为了使用 sudo 服务启动 dradis?我哪里有错误的想法?

答案1

既然您显然需要将其运行为root(使用sudo),为什么不删除:

User=user
Group=user

从您的服务档案中? System D 服务文件的运行就像root没有另行通知一样。

相关内容