[systemd-devel] TTY ownership and systemd user session

Yin Kangkai kangkai.yin at linux.intel.com
Wed Jan 8 17:56:02 PST 2014


Hi,

I am bringing up systemd user session in Tizen, I am using v208.

We run into a small issue that if a user session service file claims
TTY, systemd user session will fail to chown_terminal() for it:

 "Failed at step STDIN spawning /usr/bin/xorg-launch-helper: Permission denied"

My testing service file has something like this:

  [Service]
  StandardInput=tty
  TTYPath=/dev/tty1
  ExecStart=/usr/bin/xxx


I tried to look into the code...  The failure seems happen after
"systemd --user" forked and about the exec into the new process, in
execute.c:exec_spawn(), when calling chown_terminal().

So my question is:

 * does systemd depend on other (e.g. udev) to set the /dev/tty1
   permission beforehand? Or

 * should we do the chown_terminal() stuff in PAM/pam_systemd after we
   got the PAM_TTY? since otherwise it's too late to do it in
   exec_spawn(), it's already running as normal "user", you can't
   chown /dev/tty1 etc.

Please help me to understand this, and anything I am missing. Thanks.

Regards,
Kangkai


More information about the systemd-devel mailing list