Page MenuHomePhabricator

Config phd.user does not appear to be working
Closed, DuplicatePublic

Description

I am unable to get the daemons to start using a separate daemon user, they appear to start as root.
Am I doing something wrong?
See testcase below.

[root@blackbird phabricator]# ./bin/config get phd.user
{
  "config" : [
    {
      "key"    : "phd.user",
      "source" : "local",
      "value"  : "phab_daemon"
    }
  ]
}
[root@blackbird phabricator]# ./bin/phd stop
Interrupting daemon 'PhabricatorRepositoryPullLocalDaemon' (1101)...
Interrupting daemon 'PhabricatorGarbageCollectorDaemon' (1109)...
Interrupting daemon 'PhabricatorTaskmasterDaemon' (1127)...
Daemon 1101 exited.
Daemon 1109 exited.
Daemon 1127 exited.
[root@blackbird phabricator]# ./bin/phd start
Freeing active task leases...
Freed 0 task lease(s).
Preparing to launch daemons.
NOTE: Logs will appear in '/var/tmp/phd/log/daemons.log'.

Launching daemon "PhabricatorRepositoryPullLocalDaemon".
Launching daemon "PhabricatorGarbageCollectorDaemon".
Launching daemon "PhabricatorTaskmasterDaemon".
Done.
[root@blackbird phabricator]# ps -ef | grep Phabri
root      1908     1  0 12:12 pts/1    00:00:00 php /opt/phabricator/phabricator/scripts/daemon/phd-daemon PhabricatorRepositoryPullLocalDaemon --verbose --daemonize --log=/var/tmp/phd/log/daemons.log --phd=/var/tmp/phd/pid
root      1911  1908  0 12:12 ?        00:00:00 php /opt/phabricator/libphutil/scripts/daemon/exec/exec_daemon.php PhabricatorRepositoryPullLocalDaemon --load-phutil-library=/opt/phabricator/arcanist/src --load-phutil-library=/opt/phabricator/phabricator/src --log=/var/tmp/phd/log/daemons.log --verbose --
root      1916     1  0 12:12 pts/1    00:00:00 php /opt/phabricator/phabricator/scripts/daemon/phd-daemon PhabricatorGarbageCollectorDaemon --verbose --daemonize --log=/var/tmp/phd/log/daemons.log --phd=/var/tmp/phd/pid
root      1920  1916  0 12:12 ?        00:00:00 php /opt/phabricator/libphutil/scripts/daemon/exec/exec_daemon.php PhabricatorGarbageCollectorDaemon --load-phutil-library=/opt/phabricator/arcanist/src --load-phutil-library=/opt/phabricator/phabricator/src --log=/var/tmp/phd/log/daemons.log --verbose --
root      1931     1  0 12:12 pts/1    00:00:00 php /opt/phabricator/phabricator/scripts/daemon/phd-daemon PhabricatorTaskmasterDaemon --verbose --daemonize --log=/var/tmp/phd/log/daemons.log --phd=/var/tmp/phd/pid
root      1940  1931  0 12:12 ?        00:00:00 php /opt/phabricator/libphutil/scripts/daemon/exec/exec_daemon.php PhabricatorTaskmasterDaemon --load-phutil-library=/opt/phabricator/arcanist/src --load-phutil-library=/opt/phabricator/phabricator/src --log=/var/tmp/phd/log/daemons.log --verbose --

Event Timeline

stexxen raised the priority of this task from to Needs Triage.
stexxen updated the task description. (Show Details)
stexxen added a project: Phabricator.
stexxen added a subscriber: stexxen.

pasted_file (45×688 px, 14 KB)

Just seen this in the docs from https://secure.phabricator.com/book/phabricator/article/diffusion_hosting/
So that explains why the daemons are not changing user.

But does beg the question why phd.user is described as 'System user to run daemons as' if you have to run them yourself?