Compare commits

..

3 Commits

Author SHA1 Message Date
AsciiWolf 5e9c08f377 l10n: update Czech Translation 2020-02-03 21:54:09 +01:00
Anita Zhang d383613872
Merge pull request #14747 from yuwata/core-dynamic-user-14733
core: call dynamic_user_acquire() only when 'group' is non-null
2020-02-03 10:38:27 -08:00
Yu Watanabe 50152bb1c5 core: call dynamic_user_acquire() only when 'group' is non-null
When unit is reloaded, and the reloaded unit has bad-setting, then
unit_patch_contexts() is not called and exec_context::user and group
may not be configured.

A minimum reproducer for the case is:
- step 1.
$ sudo systemctl edit --full hoge.service
[Service]
oneshot
ExecStart=sleep 1h

- step 2.
$ sudo systemctl start hoge.service

- step 3.
$ sudo systemctl edit --full hoge.service
[Service]
Type=oneshot
ExecStart=@bindir@/sleep 1h
DynamicUser=yes

Then pid1 crashed.

Fixes #14733.
2020-02-03 21:51:07 +09:00
2 changed files with 98 additions and 14 deletions

110
po/cs.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: systemd master\n" "Project-Id-Version: systemd master\n"
"Report-Msgid-Bugs-To: https://github.com/systemd/systemd/issues\n" "Report-Msgid-Bugs-To: https://github.com/systemd/systemd/issues\n"
"POT-Creation-Date: 2019-09-17 14:31+0000\n" "POT-Creation-Date: 2020-01-30 15:31+0000\n"
"PO-Revision-Date: 2019-09-19 15:48+0200\n" "PO-Revision-Date: 2020-02-03 16:18+0100\n"
"Last-Translator: Daniel Rusek <mail@asciiwolf.com>\n" "Last-Translator: Daniel Rusek <mail@asciiwolf.com>\n"
"Language-Team: Czech\n" "Language-Team: Czech\n"
"Language: cs\n" "Language: cs\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n" "|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 2.2.3\n" "X-Generator: Poedit 2.2.4\n"
#: src/core/org.freedesktop.systemd1.policy.in:22 #: src/core/org.freedesktop.systemd1.policy.in:22
msgid "Send passphrase back to system" msgid "Send passphrase back to system"
@ -64,7 +64,59 @@ msgstr "Znovu načíst stav systemd"
#: src/core/org.freedesktop.systemd1.policy.in:65 #: src/core/org.freedesktop.systemd1.policy.in:65
msgid "Authentication is required to reload the systemd state." msgid "Authentication is required to reload the systemd state."
msgstr "Pro znovu načtení stavu systemd je vyžadováno ověření." msgstr "Pro opětovné načtení stavu systemd je vyžadováno ověření."
#: src/home/org.freedesktop.home1.policy:13
msgid "Create a home"
msgstr "Vytvořit domovský adresář"
#: src/home/org.freedesktop.home1.policy:14
msgid "Authentication is required for creating a user's home."
msgstr "Pro vytvoření domovského adresáře uživatele je vyžadováno ověření."
#: src/home/org.freedesktop.home1.policy:23
msgid "Remove a home"
msgstr "Odebrat domovský adresář"
#: src/home/org.freedesktop.home1.policy:24
msgid "Authentication is required for removing a user's home."
msgstr "Pro odebrání domovského adresáře uživatele je vyžadováno ověření."
#: src/home/org.freedesktop.home1.policy:33
msgid "Check credentials of a home"
msgstr "Zkontrolovat pověření domovského adresáře"
#: src/home/org.freedesktop.home1.policy:34
msgid ""
"Authentication is required for checking credentials against a user's home."
msgstr ""
"Pro kontrolu pověření proti domovskému adresáři uživatele je vyžadováno "
"ověření."
#: src/home/org.freedesktop.home1.policy:43
msgid "Update a home"
msgstr "Aktualizovat domovský adresář"
#: src/home/org.freedesktop.home1.policy:44
msgid "Authentication is required for updating a user's home."
msgstr "Pro aktualizaci domovského adresáře uživatele je vyžadováno ověření."
#: src/home/org.freedesktop.home1.policy:53
msgid "Resize a home"
msgstr "Změnit velikost domovského adresáře"
#: src/home/org.freedesktop.home1.policy:54
msgid "Authentication is required for resizing a user's home."
msgstr ""
"Pro změnu velikosti domovského adresáře uživatele je vyžadováno ověření."
#: src/home/org.freedesktop.home1.policy:63
msgid "Change password of a home"
msgstr "Změnit heslo domovského adresáře"
#: src/home/org.freedesktop.home1.policy:64
msgid "Authentication is required for changing the password of a user's home."
msgstr "Pro změnu hesla domovského adresáře uživatele je vyžadováno ověření."
#: src/hostname/org.freedesktop.hostname1.policy:20 #: src/hostname/org.freedesktop.hostname1.policy:20
msgid "Set host name" msgid "Set host name"
@ -505,6 +557,14 @@ msgstr "Nastavit zprávu všem uživatelům"
msgid "Authentication is required to set a wall message" msgid "Authentication is required to set a wall message"
msgstr "K nastavení zprávy všem uživatelům je vyžadováno ověření" msgstr "K nastavení zprávy všem uživatelům je vyžadováno ověření"
#: src/login/org.freedesktop.login1.policy:395
msgid "Change Session"
msgstr "Změnit sezení"
#: src/login/org.freedesktop.login1.policy:396
msgid "Authentication is required to change the virtual terminal."
msgstr "Pro změnu virtuálního terminálu je vyžadováno ověření."
#: src/machine/org.freedesktop.machine1.policy:22 #: src/machine/org.freedesktop.machine1.policy:22
msgid "Log into a local container" msgid "Log into a local container"
msgstr "Přihlásit se do lokálního kontejneru" msgstr "Přihlásit se do lokálního kontejneru"
@ -680,6 +740,30 @@ msgstr "Vrátit změny nastavení DNS"
msgid "Authentication is required to reset DNS settings." msgid "Authentication is required to reset DNS settings."
msgstr "Pro resetování nastavení DNS je vyžadováno ověření." msgstr "Pro resetování nastavení DNS je vyžadováno ověření."
#: src/network/org.freedesktop.network1.policy:143
msgid "Renew dynamic addresses"
msgstr "Obnovit dynamické adresy"
#: src/network/org.freedesktop.network1.policy:144
msgid "Authentication is required to renew dynamic addresses."
msgstr "Pro obnovení dynamických adres je vyžadováno ověření."
#: src/network/org.freedesktop.network1.policy:154
msgid "Reload network settings"
msgstr "Znovu načíst nastavení sítě"
#: src/network/org.freedesktop.network1.policy:155
msgid "Authentication is required to reload network settings."
msgstr "Pro opětovné načtení nastavení sítě je vyžadováno ověření."
#: src/network/org.freedesktop.network1.policy:165
msgid "Reconfigure network interface"
msgstr "Přenastavit síťové rozhraní"
#: src/network/org.freedesktop.network1.policy:166
msgid "Authentication is required to reconfigure network interface."
msgstr "Pro přenastavení síťového rozhraní je vyžadováno ověření."
#: src/portable/org.freedesktop.portable1.policy:13 #: src/portable/org.freedesktop.portable1.policy:13
msgid "Inspect a portable service image" msgid "Inspect a portable service image"
msgstr "Prohlédnout obraz přenosné služby" msgstr "Prohlédnout obraz přenosné služby"
@ -770,37 +854,37 @@ msgid ""
"shall be enabled." "shall be enabled."
msgstr "Pro kontrolu synchronizace času ze sítě je vyžadováno ověření." msgstr "Pro kontrolu synchronizace času ze sítě je vyžadováno ověření."
#: src/core/dbus-unit.c:354 #: src/core/dbus-unit.c:355
msgid "Authentication is required to start '$(unit)'." msgid "Authentication is required to start '$(unit)'."
msgstr "Pro spuštění „$(unit)” je vyžadováno ověření." msgstr "Pro spuštění „$(unit)” je vyžadováno ověření."
#: src/core/dbus-unit.c:355 #: src/core/dbus-unit.c:356
msgid "Authentication is required to stop '$(unit)'." msgid "Authentication is required to stop '$(unit)'."
msgstr "Pro vypnutí „$(unit)” je vyžadováno ověření." msgstr "Pro vypnutí „$(unit)” je vyžadováno ověření."
#: src/core/dbus-unit.c:356 #: src/core/dbus-unit.c:357
msgid "Authentication is required to reload '$(unit)'." msgid "Authentication is required to reload '$(unit)'."
msgstr "Pro znovu načtení „$(unit)” je vyžadováno ověření." msgstr "Pro opětovné načtení „$(unit)” je vyžadováno ověření."
#: src/core/dbus-unit.c:357 src/core/dbus-unit.c:358 #: src/core/dbus-unit.c:358 src/core/dbus-unit.c:359
msgid "Authentication is required to restart '$(unit)'." msgid "Authentication is required to restart '$(unit)'."
msgstr "Pro restart „$(unit)” je vyžadováno ověření." msgstr "Pro restart „$(unit)” je vyžadováno ověření."
#: src/core/dbus-unit.c:530 #: src/core/dbus-unit.c:531
msgid "" msgid ""
"Authentication is required to send a UNIX signal to the processes of " "Authentication is required to send a UNIX signal to the processes of "
"'$(unit)'." "'$(unit)'."
msgstr "Pro odeslání UNIX signálu procesům „$(unit)” je vyžadováno ověření." msgstr "Pro odeslání UNIX signálu procesům „$(unit)” je vyžadováno ověření."
#: src/core/dbus-unit.c:561 #: src/core/dbus-unit.c:562
msgid "Authentication is required to reset the \"failed\" state of '$(unit)'." msgid "Authentication is required to reset the \"failed\" state of '$(unit)'."
msgstr "Pro resetování chybného stavu „$(unit)” je vyžadováno ověření." msgstr "Pro resetování chybného stavu „$(unit)” je vyžadováno ověření."
#: src/core/dbus-unit.c:594 #: src/core/dbus-unit.c:595
msgid "Authentication is required to set properties on '$(unit)'." msgid "Authentication is required to set properties on '$(unit)'."
msgstr "Pro nastavení vlastností na „$(unit)” je vyžadováno ověření." msgstr "Pro nastavení vlastností na „$(unit)” je vyžadováno ověření."
#: src/core/dbus-unit.c:703 #: src/core/dbus-unit.c:704
msgid "" msgid ""
"Authentication is required to delete files and directories associated with " "Authentication is required to delete files and directories associated with "
"'$(unit)'." "'$(unit)'."

View File

@ -770,7 +770,7 @@ int dynamic_creds_acquire(DynamicCreds *creds, Manager *m, const char *user, con
if (creds->user && (!group || streq_ptr(user, group))) if (creds->user && (!group || streq_ptr(user, group)))
creds->group = dynamic_user_ref(creds->user); creds->group = dynamic_user_ref(creds->user);
else { else if (group) {
r = dynamic_user_acquire(m, group, &creds->group); r = dynamic_user_acquire(m, group, &creds->group);
if (r < 0) { if (r < 0) {
if (acquired) if (acquired)