systemd service não pode acessar a página inicial do usuário

3

Estou tentando configurar um serviço systemd no Ubuntu 15.04 (e no Debian 8). Eu tenho um programa /home/testuser/server/prrserver . Meu serviço systemd está configurado para executar prrserver as testuser:testuser . O que o prrserver faz é iniciar um novo processo /home/testuser/server/prrproc , que lê alguns arquivos em /home/testuser/server/data . O que é interessante é que prrserver inicia OK e prrproc inicia OK, mas prrproc reclama que não existe tal arquivo /home/testuser/server/data/foo que existe de outra forma. Se eu iniciar meu servidor a partir da linha de comando, ele localizará o arquivo. Alguma ideia do que pode estar errado? Talvez quando prrserver forks um novo processo, o novo processo não seja executado como testuser mais e por algum motivo não pode acessar o diretório testuser (mesmo que a permissão permitir isso)

[Unit]
Description=PRR Server

[Service]
Type=simple
User=testuser
Group=testuser
ExecStart=/home/testuser/server/prrserver

[Install]
WantedBy=multi-user.target

O status é algo assim:

systemctl status prrserver.service
    â prrserver.service - PRR Server
   Loaded: loaded (/lib/systemd/system/prrserver.service; enabled; vendor preset: enabled)
   Active: active (running) since mån 2015-05-25 14:50:42 CEST; 1min 2s ago
 Main PID: 21205 (prrserver)
   CGroup: /system.slice/prrserver.service
           ââ21205 /bin/sh /home/testuser/server/prrserver
           ââ22101 /bin/sh /home/testuser/server/prrproc

maj 25 14:50:42 ubuntu-dev systemd[1]: Started PRR Server.
maj 25 14:50:42 ubuntu-dev systemd[1]: Starting PRR Server...
maj 25 14:50:53 ubuntu-dev prrserver[21205]: PRR Server started listening on port 10239

Observe que o processo principal prrserver lança os processos prrproc e o problema é com os processos prrproc , portanto, o status do serviço é verde.

    
por RegedUser00x 25.05.2015 / 13:35

1 resposta

1

Em teoria, pode ser o namespace de montagem privada. É um recurso de segurança. Eu acho que você poderia tentar descartá-lo com

ProtectHome=off
    
por 25.05.2015 / 16:28

Tags