[systemd-devel] systemd - how to run system service by user target

Andrei Borzenkov arvidjaar at gmail.com
Sat Oct 22 06:17:24 UTC 2016


20.10.2016 15:00, Lennart Poettering пишет:
> On Thu, 20.10.16 05:23, Kamil Jońca (kjonca at o2.pl) wrote:
> 
>> Lennart Poettering <lennart at poettering.net> writes:
>>
>>> On Wed, 19.10.16 12:46, Kamil Jońca (kjonca at o2.pl) wrote:
>>>
>>>>
>>>> Assume we have openvpn.service.
>>>> This service neccessary only when I want to connect to my work from
>>>> home.
>>>>
>>>> Is it possible to make user target which will be automatically run this
>>>> service?
>>>
>>> Whenever a user logs in it will get a per-user slice unit
>>> started. When the user logs out, the slice unit is removed. You could
>>
>> Unfortunately we cannot say about user login/logout - I have my laptop
>> and it is only hibernated or sleeping. 
>> I thought rather about:
>>
>> --8<---------------cut here---------------start------------->8---
>> systemctl --user start work-at-home.target
>> --8<---------------cut here---------------end--------------->8---
>> which runs vpn, mounts network discs etc.
>> Is it possible?
> 
> Well, this would require a privilege elevation. You can configure that
> by invoking "systemctl start --system" on the right system units, and
> then telling PK via its policy language that your user shall be
> allowed to do that. But I am not PK policy pro, you'd have to check
> the policy language to figure out how best to do this.
> 

To figure out how to best to do this we need to know what information
systemd provides with polkit request (i.e. which details are available
to make decision upon). I could not find documentation that describes
it. Without details this is all or nothing.


More information about the systemd-devel mailing list