<div dir="ltr">Howdy --<div><br></div><div>I have a setuid-root executable from which I'm trying to start or stop a service. However, when invoking systemctl from this executable -- for which geteuid() returns 0 -- the control socket is rejected when the ruid does not match (such that the executable was invoked from a less-privileged user).</div><div><br></div><div><div>2042 17:02:00.508893788 0 systemd (1) > recvmsg fd=14(<u>ffff883f648b4280->ffff883f648b4980 /run/systemd/private)</div><div>2043 17:02:00.508897318 0 systemd (1) < recvmsg res=45 size=45 data=.AUTH EXTERNAL 30..NEGOTIATE_UNIX_FD..BEGIN.. tuple=NULL</div></div><div><br></div><div>2068 17:02:00.510329428 0 systemd (1) > sendmsg fd=14(<u>ffff883f648b4280->ffff883f648b4980 /run/systemd/private) size=24 tuple=NULL<br></div><div><div>2069 17:02:00.510344760 0 systemd (1) < sendmsg res=24 data=REJECTED..ERROR..ERROR..</div></div><div><br></div><div>What's going on, and why?</div></div>