...
- server
- Server writes/creates files and those files need to be write/readable by PBS_DAEMON_SERVICE_USER.
- If PBS_DAEMON_SERVICE_USER is changed, the server must be restarted.
- scheduler
- Scheduler needs to verify that files can be read/executed by scheduler. If the file/directory permissions are wrong, it will log and error and exit.
- If the scheduler is run as root, it will switch user to PBS_DAEMON_SERVICE_USER
- If PBS_DAEMON_SERVICE_USER is changed, the scheduler must be restarted.
- pbsfs
- pbsfs sets fairshare usage, and needs to write a file that is readable by the scheduler
- If pbsfs is run as root, it will switch user to PBS_DAEMON_SERVICE_USER
- habitat script
- This script creates sched_priv and sched_logs, both which need to be read/writable by PBS_DAEMON_SERVICE_USER
- pbs_probe
- This command will check the permissions of sched_priv and sched_logs, and can fix the permissions if incorrect.
...
When the scheduler starts, it will check if sched_priv/sched_logs is owned by the current user; if not, the scheduler will terminate.
If PBS_DAEMON_SERVICE_USER is changed, the server and scheduler must be restarted.
Possible Future Improvements
...