diff options
author | Felipe Sateler <fsateler@gmail.com> | 2017-05-18 22:12:14 -0400 |
---|---|---|
committer | Felipe Sateler <fsateler@gmail.com> | 2017-05-26 09:42:47 -0400 |
commit | 534bab66ab5c13845fb38a91c103a072bf8d2c4e (patch) | |
tree | f3740f2803435e61ec0b7a3c854ba4ecb359e30c /src/shared/condition.c | |
parent | c465a29f24403c7583a96eb90a1fe4f5b7f9b5a9 (diff) | |
download | systemd-534bab66ab5c13845fb38a91c103a072bf8d2c4e.tar.gz |
core: add @system special value to ConditionUser=
It allows checking if the user is a system user or a normal user
Diffstat (limited to 'src/shared/condition.c')
-rw-r--r-- | src/shared/condition.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/shared/condition.c b/src/shared/condition.c index 7320b53492..28b328080a 100644 --- a/src/shared/condition.c +++ b/src/shared/condition.c @@ -154,6 +154,9 @@ static int condition_test_user(Condition *c) { if (r >= 0) return id == getuid() || id == geteuid(); + if (streq("@system", c->parameter)) + return getuid() <= SYSTEM_UID_MAX || geteuid() <= SYSTEM_UID_MAX; + username = getusername_malloc(); if (!username) return -ENOMEM; |