mirror of
https://github.com/systemd/systemd.git
synced 2025-01-11 09:18:07 +03:00
shared/install: fix %u expansion when running under sudo
Test case: [Install] DefaultInstance=bond1 WantedBy= foobar-U-%U.device WantedBy= foobar-u-%u.device $ sudo systemctl --root=/ enable testing4@.service (before) Created symlink /etc/systemd/system/foobar-U-0.device.wants/testing4@bond1.service → /etc/systemd/system/testing4@.service. Created symlink /etc/systemd/system/foobar-u-zbyszek.device.wants/testing4@bond1.service → /etc/systemd/system/testing4@.service. (after) Created symlink /etc/systemd/system/foobar-U-0.device.wants/testing4@bond1.service → /etc/systemd/system/testing4@.service. Created symlink /etc/systemd/system/foobar-u-root.device.wants/testing4@bond1.service → /etc/systemd/system/testing4@.service. It doesn't make much sense to use a different user for %U and %u.
This commit is contained in:
parent
cfd559c9a8
commit
6309e51ea3
@ -108,9 +108,13 @@ static int specifier_user_name(char specifier, void *data, void *userdata, char
|
||||
/* If we are UID 0 (root), this will not result in NSS,
|
||||
* otherwise it might. This is good, as we want to be able to
|
||||
* run this in PID 1, where our user ID is 0, but where NSS
|
||||
* lookups are not allowed. */
|
||||
* lookups are not allowed.
|
||||
|
||||
t = getusername_malloc();
|
||||
* We don't user getusername_malloc() here, because we don't want to look
|
||||
* at $USER, to remain consistent with specifer_user_id() below.
|
||||
*/
|
||||
|
||||
t = uid_to_name(getuid());
|
||||
if (!t)
|
||||
return -ENOMEM;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user