1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-12-23 17:34:00 +03:00
Commit Graph

43096 Commits

Author SHA1 Message Date
Lennart Poettering
8eabc083dc docs: in PORTABILITY_AND_STABILITY only use one h1
According to the designer of the page layout a page only should have one
h1 header, and everything else should be h2, h3, … I think that makes a
ton of sense, hence let's downgrade some headers here.
2020-01-17 10:09:50 +01:00
Lennart Poettering
54ed193f8d man: clarify that user rlimits cannot go beyond limits set for service mgr
Fixes: #10758
2020-01-17 10:09:50 +01:00
Lennart Poettering
59d83463d1 man: extend on halt documentation
Based on the suggestions on #13254 and #13264

Fixes: #13254
2020-01-17 10:08:23 +01:00
Lennart Poettering
0b306655f1 man: document that rootflags= does not override /etc/fstab
Fixes: #13324
2020-01-17 10:08:23 +01:00
Lennart Poettering
d524094b6b man: underline that AccuracySec= is about coalescing timer events, nothing else
Fixes: #13328
2020-01-17 10:08:23 +01:00
Lennart Poettering
eec68a1a08 man: mention that Before= doesn't work for device units
Fixes: #13362
2020-01-17 10:08:13 +01:00
Lennart Poettering
49dd0c161a man: suggest SYSTEMD_WANTS usage instead of RUN for long running processes
Fixes: #14259
2020-01-17 10:08:13 +01:00
Lennart Poettering
f27a21d48b man: document the limits of the block device discovery for IO cgroup options
Fixes: #14271
2020-01-17 10:08:13 +01:00
Lennart Poettering
1e8a7eff22 man: document how error propagation to path units works
Fixes: #14331
2020-01-17 10:08:13 +01:00
Lennart Poettering
ba96a8a277 man: document that program invocation will fail if the User= does not exist
Fixes: #14565
2020-01-17 10:08:13 +01:00
Lennart Poettering
8384ed93b9 docs: clarify that we don't want to own $BOOT exclusively
Let's be clearer here.

Prompted by a quick discussion I had with @gicmo.
2020-01-17 10:08:13 +01:00
Arian van Putten
c7d26acce6 Disable reading SystemdOptions EFI Var when in SecureBoot mode
In SecureBoot mode this is probably not what you want. As your cmdline
is cryptographically signed like when using Type #2 EFI Unified Kernel
Images (https://systemd.io/BOOT_LOADER_SPECIFICATION/) The user's
intention is then that the cmdline should not be modified.  You want to
make sure that the system starts up as exactly specified in the signed
artifact.
2020-01-16 18:46:56 +01:00
Lennart Poettering
5c1a9ef088
Merge pull request #14585 from keszybz/sysctl-downgrade-messages
Downgrade sysctl message to log_debug in containers
2020-01-16 18:45:29 +01:00
Luca Boccassi
c97ae2b290 Clarify journald.conf MaxLevelStore documentation
'stored on disk' gives the impression that this option affects only
permanent storage, even though it affects everything the journal
records, regardless of the storage type.
Use 'stored in the journal' to avoid confusion.
2020-01-16 18:41:33 +01:00
Zbigniew Jędrzejewski-Szmek
32458cc968 sysctl: downgrade message when we have no permission
We need to run sysctl also in containers, because the network
subtree is namespaces and may legitimately be writable. But logging
all "errors" at notice level creates unwanted noise.

Also downgrade message about missing sysctls to log_info. This might also be
relatively common when configuration is targeted at different kernel
versions. With log_debug it'll still end up in the logs, but isn't really worth
of "notice" most of the time.

https://bugzilla.redhat.com/show_bug.cgi?id=1609806
2020-01-16 14:45:50 +01:00
Zbigniew Jędrzejewski-Szmek
b2ae4d9eb8 sysctl: move hashmap allocation out of main function
This allocation is a low level detail, and it seems nicer to keep it
out of run().
2020-01-16 14:45:37 +01:00
Zbigniew Jędrzejewski-Szmek
e76c60bf2a man: rework section about configuration file precedence
This section is loaded in a bunch of places, so this affects many
man pages.

1. point the reader to the synopsis section, which has the exact paths
that are used to load files.
2. put the "reference" part first, and recommendations later, in separate
paragraphs.
3. describe how individual settings and whole files are replaces.

Closes #12791.
2020-01-16 14:45:37 +01:00
Zbigniew Jędrzejewski-Szmek
251d3d20c3
Merge pull request #14581 from poettering/setcred-alternative-fix
alternative pam_setcred() fix
2020-01-16 09:53:26 +01:00
Lennart Poettering
4bb68f2fee core: on each iteration processing /proc/self/mountinfo merge all discovery flags for each path
This extends on d253a45e1c, and instead of
merging just a single flag from previous mount entries of
/proc/self/mountinfo for the same path we merge all three.

This shouldn't change behaviour, but I think make things more readable.

Previously we'd set MOUNT_PROC_IS_MOUNTED unconditionally, we still do.

Previously we'd inherit MOUNT_PROC_JUST_MOUNTED from a previous entry on
the same line, we still do.

MOUNT_PROC_JUST_CHANGED should generally stay set too. Why that? If we
have two mount entries on the same mount point we'd first process one
and then the other, and the almost certainly different mount parameters
of the two would mean we'd set MOUNT_PROC_JUST_CHANGED for the second.
And with this we'll definitely do that still.

This also adds a comment explaining the situation a bit, and why we get
into this situation.
2020-01-15 17:42:12 +01:00
Lennart Poettering
dd1b23a313
Merge pull request #14375 from poettering/userdb
New varlink API for user and group management
2020-01-15 17:41:29 +01:00
Lennart Poettering
46d7c6afbf execute: allow pam_setcred() to fail, ignore errors
Fixes: #14567
Alternative-To: #14569
2020-01-15 17:10:43 +01:00
Lennart Poettering
5b8d1f6b77 execute: add const to array parameters, where possible 2020-01-15 17:10:28 +01:00
Lennart Poettering
c903ee8976 docs: add documentation for the varlink user/group APIs 2020-01-15 15:34:09 +01:00
Lennart Poettering
32eb3c4229 docs: add documentation for JSON group records, too 2020-01-15 15:34:09 +01:00
Lennart Poettering
812862db71 docs: add documentation for JSON user records 2020-01-15 15:34:09 +01:00
Lennart Poettering
0ba56d3657 man: document the new nss-systemd behaviour
(This also changes the suggested /etc/nsswitch.conf line to use for
hooking up nss-system to use glibc's [SUCCESS=merge] feature so that we
can properly merge group membership lists).
2020-01-15 15:31:00 +01:00
Lennart Poettering
7d9ad0e5e5 man: document systemd-userdbd.service 2020-01-15 15:30:40 +01:00
Lennart Poettering
3b2db6f110 man: document userdbctl(1) 2020-01-15 15:30:20 +01:00
Lennart Poettering
fc89f88e56 man: document new pam_systemd features in man page
This also updates the suggested PAM snippet in a number of way:

1. Be closer to the logic nowadays implemented in Fedora where the
   auth/account/password stacks are all finished off with
   pam_{deny|permit}.so

2. Make pam_unix.so just "sufficient" instead of "required" (paving
   ground for pam_systemd_home.so being hooked in as additional
   sufficient module.

3. Only do pam_nologin in the "account" stack, since it's about account
   validity really.

4. Use modern parameters to pam_unix when changing passwords, i.e.
   sha512 and shadow, and use already set up passwords (preparing ground
   for pam_systemd_home again)
2020-01-15 15:30:06 +01:00
Lennart Poettering
f9c1f4e193 pam-systemd: apply user record properties to session
This way any component providing us with JSON user record data can use
this for automatic resource management and other session properties.
2020-01-15 15:30:02 +01:00
Lennart Poettering
7bfbf6cc92 pam-systemd: normalize return values of append_session_xyz()
Let's propagate the PAM errors we got.
2020-01-15 15:29:59 +01:00
Lennart Poettering
9ab0d3ebe5 pam-systemd: port over to use a UserRecord structure
Later on this allows us to set various session properties from user
record.
2020-01-15 15:29:55 +01:00
Lennart Poettering
355c9966c2 pam-systemd: share bus connection with pam_systemd_home if we can
Let's use the pam-util.h provided helpers to acquire them.
2020-01-15 15:29:52 +01:00
Lennart Poettering
d750dde2a6 pam-systemd: port to pam_bus_log_{create|parse}_error() and pam_log_oom() 2020-01-15 15:29:48 +01:00
Lennart Poettering
cef9f2a647 shared: add pam utility helpers 2020-01-15 15:29:31 +01:00
Lennart Poettering
d510589fd0 logind: honour per-user stopDelayUSec property 2020-01-15 15:29:27 +01:00
Lennart Poettering
156a363750 logind: honour killProcesses field of user record 2020-01-15 15:29:24 +01:00
Lennart Poettering
e8e4b7a0b6 logind: enforce user record resource settings when user logs in 2020-01-15 15:29:21 +01:00
Lennart Poettering
22c902facc logind: port to UserRecord object
This changes the user tracking of logind to use the new-style UserRecord
object.

In a later commit this enables us to do per-user resource management.
2020-01-15 15:29:17 +01:00
Lennart Poettering
1684c56f40 nss: hook up nss-systemd with userdb varlink bits
This changes nss-systemd to use the new varlink user/group APIs for
looking up everything.

(This also changes the factory /etc/nsswitch.conf line to use for
hooking up nss-system to use glibc's [SUCCESS=merge] feature so that we
can properly merge group membership lists).

Fixes: #12492
2020-01-15 15:29:07 +01:00
Lennart Poettering
19d22d433d core: add user/group resolution varlink interface to PID 1 2020-01-15 15:28:55 +01:00
Lennart Poettering
4bad7eedae core: make return parameter of dynamic_user_lookup_name() optional 2020-01-15 15:28:52 +01:00
Lennart Poettering
1604937f83 userdbd: add userdbctl tool as client for userdbd 2020-01-15 15:28:42 +01:00
Lennart Poettering
d093b62c94 userdbd: add new service that can merge userdb queries from multiple clients 2020-01-15 15:28:17 +01:00
Lennart Poettering
295c1a6e45 shared: add helpers for displaying new-style user/group records to users 2020-01-15 15:27:59 +01:00
Lennart Poettering
ec8e4a0ef1 shared: add internal API for querying JSON user records via varlink
This new API can be used in place of NSS by our own internal code if
more than the classic UNIX records are needed.
2020-01-15 15:27:41 +01:00
Lennart Poettering
9b2d907877 shared: add helpers for converting NSS passwd/group structures to new JSON objects
These new calls may be used to convert classic UNIX/glibc NSS struct
passwd and struct group records into new-style JSON-based user/group
objects.
2020-01-15 15:27:23 +01:00
Lennart Poettering
71d0b9d422 shared: add generic user/group record structures and JSON parsers 2020-01-15 15:27:04 +01:00
Lennart Poettering
64aa2622a3 libcrypt-util: add superficial validator for UNIX hashed password strings 2020-01-15 15:26:51 +01:00
Lennart Poettering
42f3b2f975 shared: split out crypt() specific helpers into its own .c/.h in src/shared/
This way we can use libxcrypt specific functionality such as
crypt_gensalt() and thus take benefit of the newer algorithms libxcrypt
implements. (Also adds support for a new env var $SYSTEMD_CRYPT_PREFIX
which may be used to select the hash algorithm to use for libxcrypt.)

Also, let's move the weird crypt.h inclusion into libcrypt.h so that
there's a single place for it.
2020-01-15 15:26:27 +01:00