Я фигею с этого systemd. Написал сервис файл под mongodb и он не запустился, потому что видите ли не хватало прав для записи pid-файла! Собственно код, в котором есть магическая опция NoNewPrivileges=yes. О ней в мануале ни слова, что зачем и почему, только известно, что она меняет поведение программы и ее потомков. Фантастично, а как, шит, тогда работает systemd по дефолту, когда указаны User/Group опции и не указана эта магическая переменная ?!
NoNewPrivileges=
Takes a boolean argument. If true, ensures that the service process and all its children can never gain new privileges. This option is more powerful than the respective secure bits flags (see above), as it also prohibits UID changes of any kind. This is the simplest, most effective way to ensure that a process and its children can never elevate privileges again.
Убитые нервные клетки никто не восстановит.
UPDATE: Проблема и решение. Симптомы в /var/log/mongo/mongod.log:
Sat Jul 6 09:37:27.326 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /var/lib/mongo/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
или
Sat Jul 6 09:35:34.924 [initandlisten] exception in initAndListen std::exception: boost::filesystem::status: Permission denied: «/var/lib/mongo/mongod.lock», terminating