1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-27 18:04:05 +03:00

7956 Commits

Author SHA1 Message Date
Luca Boccassi
081c50ed3c
Merge pull request #29361 from keszybz/kernel-install-work
Advertise installkernel ↔ kernel-install duality
2023-09-28 17:16:15 +01:00
Luca Boccassi
1e49f4ed8b
Merge pull request #28545 from bluca/softreboot_survive
pid1: add SurviveFinalKillSignal= to skip units on final sigterm/sigkill spree
2023-09-28 17:12:03 +01:00
Luca Boccassi
3cb5d34ce0
Merge pull request #29295 from valentindavid/valentindavid/sysupdate-patterns-in-directory
sysupdate: Allow patterns to match path with directories
2023-09-28 15:18:45 +01:00
Luca Boccassi
559214cbbd pid1: add SurviveFinalKillSignal= to skip units on final sigterm/sigkill spree
Add a new boolean for units, SurviveFinalKillSignal=yes/no. Units that
set it will not have their process receive the final sigterm/sigkill in
the shutdown phase.

This is implemented by checking if a process is part of a cgroup marked
with a user.survive_final_kill_signal xattr (or a trusted xattr if we
can't set a user one, which were added only in kernel v5.7 and are not
supported in CentOS 8).
2023-09-28 13:48:14 +01:00
Zbigniew Jędrzejewski-Szmek
eb25844f83 kernel-install: describe usage as installkernel
For us, this is a compatibility mode, but most likely it is there to stay: the
kernel Makefile's install target expects to be able to call /bin/installkernel.
We want people who build their own kernels to use this, so that they use
kernel-install and get support for all the functionality provided by it,
including building of UKIs and other new features. So let's actually advertise
that this exists and works.
2023-09-28 12:40:28 +02:00
Valentin David
deafbeb0b9
sysupdate: Add documentation for new MatchPattern behavior 2023-09-28 11:41:29 +02:00
Mike Yuan
d708bb7c02
systemctl-enable: warn if disabled/masked units has active triggering units
Closes #311
2023-09-28 05:24:51 +08:00
Mike Yuan
0b675f97d6
systemctl-start: suppress the triggering unit warning when --no-warn 2023-09-28 05:24:51 +08:00
Mike Yuan
6bd8340d11
man/org.freedesktop.systemd1: add version info for NFTSet
Follow-up for dc7d69b3c1eb4aa78a5ba2791c6e146a365c4092
2023-09-28 03:04:28 +08:00
Topi Miettinen
3bb48b19bd core: add user and group to NFTSet=
The benefit of using this setting is that user and group IDs, especially dynamic and random
IDs used by DynamicUser=, can be used in firewall configuration easily.

Example:

```
[Service]
NFTSet=user:inet:filter:serviceuser
```

Corresponding NFT rules:

```
table inet filter {
        set serviceuser {
                typeof meta skuid
        }
        chain service_output {
                meta skuid @serviceuser accept
                drop
        }
}
```

```
$ cat /etc/systemd/system/dunft.service
[Service]
DynamicUser=yes
NFTSet=user:inet:filter:serviceuser
ExecStart=/bin/sleep 1000

[Install]
WantedBy=multi-user.target
$ sudo nft list set inet filter serviceuser
table inet filter {
        set serviceuser {
                typeof meta skuid
                elements = { 64864 }
        }
}
$ ps -n --format user,group,pid,command -p `systemctl show dunft.service -P MainPID`
    USER    GROUP     PID COMMAND
   64864    64864   55158 /bin/sleep 1000
```
2023-09-27 18:10:11 +00:00
Topi Miettinen
dc7d69b3c1 core: firewall integration of cgroups with NFTSet=
New directive `NFTSet=` provides a method for integrating dynamic cgroup IDs
into firewall rules with NFT sets. The benefit of using this setting is to be
able to use control group as a selector in firewall rules easily and this in
turn allows more fine grained filtering. Also, NFT rules for cgroup matching
use numeric cgroup IDs, which change every time a service is restarted, making
them hard to use in systemd environment.

This option expects a whitespace separated list of NFT set definitions. Each
definition consists of a colon-separated tuple of source type (only "cgroup"),
NFT address family (one of "arp", "bridge", "inet", "ip", "ip6", or "netdev"),
table name and set name. The names of tables and sets must conform to lexical
restrictions of NFT table names. The type of the element used in the NFT filter
must be "cgroupsv2". When a control group for a unit is realized, the cgroup ID
will be appended to the NFT sets and it will be be removed when the control
group is removed.  systemd only inserts elements to (or removes from) the sets,
so the related NFT rules, tables and sets must be prepared elsewhere in
advance.  Failures to manage the sets will be ignored.

If the firewall rules are reinstalled so that the contents of NFT sets are
destroyed, command systemctl daemon-reload can be used to refill the sets.

Example:

```
table inet filter {
...
        set timesyncd {
                type cgroupsv2
        }

        chain ntp_output {
                socket cgroupv2 != @timesyncd counter drop
                accept
        }
...
}
```

/etc/systemd/system/systemd-timesyncd.service.d/override.conf
```
[Service]
NFTSet=cgroup:inet:filter:timesyncd
```

```
$ sudo nft list set inet filter timesyncd
table inet filter {
        set timesyncd {
                type cgroupsv2
                elements = { "system.slice/systemd-timesyncd.service" }
        }
}
```
2023-09-27 18:10:11 +00:00
Lennart Poettering
174e8e9897
Merge pull request #29345 from poettering/measured-uki-condition
pid1: introduce ConditionSecurity=measured-uki
2023-09-27 16:39:46 +02:00
Luca Boccassi
93bd6e3714
Merge pull request #29134 from nabijaczleweli/short-iso-timestamp
journalctl -o short-iso[-precise]: timezone as +02:00 instead of +0200
2023-09-27 14:42:27 +01:00
Luca Boccassi
578840bdf9
Merge pull request #29296 from keszybz/make-cryptsetup-offical-and-add-docs
Make cryptsetup offical and add docs
2023-09-27 13:31:11 +01:00
Lennart Poettering
340d979af3 condition: add ConditionSecurity=measured-uki
We have various services that should only run in a measured UKI
environment. Let's add an explicit high-level check for that.
2023-09-27 12:10:46 +02:00
Zbigniew Jędrzejewski-Szmek
10aeee95d0 man: rename systemd-cryptsetup@.service → systemd-cryptsetup
We already had the other name as alias, so this just changes what is the "main"
name. The text is adjusted to describe the command briefly.
2023-09-26 17:03:26 +02:00
Zbigniew Jędrzejewski-Szmek
fb8d67cd34 meson: move systemd-cryptsetup to /usr/bin
This was requested, though I think an issue was never filed. If people are
supposed to invoke it, even for testing, then it's reasonable to make it
"public".
2023-09-26 17:03:26 +02:00
Zbigniew Jędrzejewski-Szmek
5f5f1ba169 man/crypttab: fix indentation 2023-09-26 15:35:06 +02:00
Zbigniew Jędrzejewski-Szmek
4381474f7f man/crypttab: add a more comprehensive example of encrypted device setup 2023-09-26 15:35:06 +02:00
Zbigniew Jędrzejewski-Szmek
12c346d8e8 man/crypttab: do not recommend using /dev/sdX symlinks in /etc/crypttab
This is just wrong. Quering the symlink names with udevadm is not the
easiest, but I think that's the safest way for a documented example.
2023-09-26 15:35:06 +02:00
Zbigniew Jędrzejewski-Szmek
38e3c61dbb man/cryptenroll: link to crypttab(5) for examples
I was missing an example of how to use cryptenroll. We have that, but in
another page. Instead of repeating, let's just direct the user to the right
place.

Also, reformat synopsis to the "official" non-nested syntax.
2023-09-26 15:35:06 +02:00
наб
0693e6b246
journalctl -o short-iso[-precise]: timezone as +02:00 instead of +0200 2023-09-26 15:24:13 +02:00
наб
bf83c6707e
journalctl.1: move --truncate-newline to the options instead of the -o values list 2023-09-26 14:45:08 +02:00
Lennart Poettering
d4899d49e6 Revert "man: Add /usr/local/lib path to Synopsis section for modules-load"
This reverts commit 17811767687fcee3b96333f724c5cdf3df11ae86.
2023-09-26 13:15:12 +01:00
Raul Cheleguini
1781176768 man: Add /usr/local/lib path to Synopsis section for modules-load 2023-09-26 12:56:32 +08:00
Luca Boccassi
4c9a288154 man: document SystemState's possible values 2023-09-25 22:55:54 +01:00
Abderrahim Kitouni
01f5c5d52d man: add version information for udev functions 2023-09-25 22:29:38 +01:00
Luca Boccassi
e1e0c4f025
Merge pull request #29314 from YHNdnzj/firstboot-fixup
Small fixups for first boot
2023-09-25 22:29:24 +01:00
Luca Boccassi
5ea69810fe
Merge pull request #29308 from aafeijoo-suse/dissect-fix
dissect: fix man and bash-completion
2023-09-25 19:16:08 +01:00
Mike Yuan
ff4a7d32f1
man/systemd-firstboot: /etc/ empty -> unpopulated
We use the phrase "unpopulated" in systemd.unit(5) too.
And "/etc/ is empty" is simply spurious.
2023-09-26 01:01:57 +08:00
Lennart Poettering
75174a5de9 man: briefly document that we are now keeping an event log in userspace for out measurements 2023-09-25 17:17:20 +02:00
Lennart Poettering
b0d00ec60a pcrextend: make PCR index configurable
Let's make the tool a tiny bit more generic by allowing the PCR index to
measure into to be configurable.
2023-09-25 17:17:20 +02:00
Lennart Poettering
32295fa08f pcrphase: rename binary to pcrextend
The tool initially just measured the boot phase, but was subsequently
extended to measure file system and machine IDs, too. At AllSystemsGo
there were request to add more, and make the tool generically
accessible.

Hence, let's rename the binary (but not the pcrphase services), to make
clear the tool is not just measureing the boot phase, but a lot of other
things too.

The tool is located in /usr/lib/ and still relatively new, hence let's
just rename the binary and be done with it, while keeping the unit names
stable.

While we are at it, also move the tool out of src/boot/ and into its own
src/pcrextend/ dir, since it's not really doing boot related stuff
anymore.
2023-09-25 17:17:20 +02:00
Antonio Alvarez Feijoo
a0582220f5
man/systemd-dissect: various fixes
- Add synopsis to `--discover` and `--validate` options.
- `-l` is for `--list`, not for `--mtree`.
2023-09-25 16:16:41 +02:00
Abderrahim Kitouni
0ee4239437 man: fix docbook syntax for function docs
This fixes sd_bus_error_add_map and man/sd_uid_get_state
2023-09-25 13:34:45 +01:00
Abderrahim Kitouni
d511acdf82 man/kernel-command-line: don't refer early_core_pattern to systemd
It is defined later in the same file
2023-09-25 13:14:34 +01:00
RoepLuke
c9bb40b133 Add recommended initramfs regeneration
I recently tried adding a FIDO2-Device as an unlocking method to the LUKS2 partition containing my Fedora install.
When trying to do this, I stumbled upon the here edited man files detailing how to do this.
I however could not unlock my partition with my FIDO2-Device after editing /etc/crypttab and rebooting.
As I found out after a while, I needed to regenerate / update my currently running / used initramfs (https://unix.stackexchange.com/a/705809).
This would have most likely solved itself for me with the next kernel update install (as far as I understand).
So I propose changing the files edited here to recommend or at least inform the user about this.
2023-09-22 16:02:44 +01:00
Joerg Behrmann
7c52d5236a treewide: split commandline into command line 2023-09-20 16:37:23 +01:00
Lennart Poettering
02e9308751 docs: excorcise NIS from nsswitch.conf
Let's replace the "compat" module in our proposed nsswitch.conf
configuration with "files", since it is not 1995 anymore.

Fedora and other distros have deprecated and removed NIS support a while
back. While others still retain some support I am not sure we should
advertise it in our examples. Downstream can of course still use
"compat" instead of "files" if they want to, but let's not confuse
people who don't care about NIS anymore with this.

Also, bring the nsswitch.conf snippet in README in line with what our
man pages say.

Also see: https://fedoraproject.org/wiki/Changes/retire_NIS_user_space_utils
2023-09-20 15:17:52 +02:00
Antonio Alvarez Feijoo
cb5f21de19 man/kernel-install: document missing $KERNEL_INSTALL_IMAGE_TYPE
Available since https://github.com/systemd/systemd/commit/3d5f0bfe
2023-09-20 10:23:20 +01:00
Zbigniew Jędrzejewski-Szmek
6d2d38e76f
Merge pull request #28919 from fbuihuu/custom-config-file-install-path
Custom config file install path
2023-09-20 10:43:16 +02:00
Franck Bui
c76f2fb0e5 Reflect the fact that main config files can be installed in /usr 2023-09-19 17:48:02 +02:00
Luca Boccassi
02ee98d46f
Merge pull request #29150 from abderrahim/version-info-dbus
man: add version information for dbus interfaces
2023-09-19 16:04:41 +01:00
Abderrahim Kitouni
d9d2d16aea man: add version information for dbus interfaces
These only go back to version 250 which is the first version to provide the
export-dbus-interfaces build target.
2023-09-19 14:33:34 +01:00
Daan De Meyer
33ec8d7610
Merge pull request #29221 from keszybz/fedora-cloud-latest
man: update Fedora release information
2023-09-19 15:32:57 +02:00
Zbigniew Jędrzejewski-Szmek
076a82c575 man: update Fedora release information 2023-09-19 13:13:02 +02:00
Abderrahim Kitouni
00f95506e2 man: condense version information for functions
Use a more compact form like 'a, b, and c were added in version x'
2023-09-19 10:48:15 +01:00
Joerg Behrmann
477eac0a62 man: remove quotes around default values 2023-09-19 10:05:38 +02:00
Joerg Behrmann
7227dd816f treewide: fix typos
- mostly: usecase -> use case
- continously -> continuously
- single typos in docs/FILE_DESCRIPTOR_STORE.md
2023-09-19 10:05:38 +02:00
Lennart Poettering
60936158d1
Merge pull request #29159 from poettering/socket-pause
core: add new "PollLimit" settings to .socket units
2023-09-19 09:40:27 +02:00