Как запустить файл службы Systemd с рут-доступом в Ubuntu 16.04
У меня есть служебный файл для mongodb по адресу /lib/systemd/system/mongod.service
и мой файл содержит следующие данные, как показано ниже
[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
моя команда выполняется успешно, но при входе в служебный файл она получает ошибку из-за отсутствия рут-доступа.
Поэтому я хочу запустить файл службы systemd с правами суперпользователя. Любое предложение будет оценено, и спасибо заранее
2 ответа
Решил проблему, чтобы запустить службу как демон, я должен дать полные права на базу данных Mongodb и путь к журналу для User=mongodb & Group=mongodb, выполнив следующие команды
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb
mongodb.service
файлы обычно включают в себя:
User=mongodb
Group=mongodb
Так что ваша проблема в другом месте. Вы должны опубликовать точную ошибку, которую вы описываете как "Ошибка из-за отсутствия корневого доступа", и команду, которую вы запускаете, которая ее генерирует.
В будущем, лучший сайт для systemd
связанные вопросы http://unix.stackexchange.com/