如何在Ubuntu 16.04中使用root访问权限运行Systemd Service文件

时间:2017-06-13 04:59:08

标签: mongodb root ubuntu-16.04 systemd systemctl

我在/lib/systemd/system/mongod.service上有mongodb的服务文件

我的文件包含以下数据

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --fork --config /etc/mongod.conf
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false

# Recommended limits for for mongod as specified in
# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings

[Install]
WantedBy=multi-user.target

所以在运行命令时如下

sudo /usr/bin/mongod --quiet --fork --config /etc/mongod.conf

我的命令运行成功,但是由于无根访问而进入服务文件,它会收到错误。

所以我想以root用户身份运行我的systemd服务文件。任何建议都会受到赞赏,并提前致谢

2 个答案:

答案 0 :(得分:0)

mongodb.service文件通常包括:

User=mongodb
Group=mongodb

所以你的问题在其他地方。您应该将您描述的确切错误发布为“由于无根访问而导致的错误”以及您生成它的命令。

将来,systemd相关问题的更好网站是http://unix.stackexchange.com

答案 1 :(得分:0)

解决了将服务作为守护进程运行的问题,我必须为Mongodb数据库和User = mongodb&的日志路径提供完全权限。通过运行命令

来组= mongodb
sudo chown -R mongodb:mongodb /var/lib/mongodb

sudo chown -R mongodb:mongodb /var/log/mongodb