| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Let's clarify that these settings only apply to stdout/stderr logging.
Always mention the journal before syslog (as the latter is in most ways
just a legacy alias these days). Always mention the +console cases too.
|
| |
|
|
|
|
| |
Fixes: #7254
See: #2473
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#7295)
MemoryDenyWriteExecution policy could be be bypassed by using pkey_mprotect
instead of mprotect to create an executable writable mapping.
The impact is mitigated by the fact that the man page says "Note that this
feature is fully available on x86-64, and partially on x86", so hopefully
people do not rely on it as a sole security measure.
Found by Karin Hossen and Thomas Imbert from Sogeti ESEC R&D.
https://bugs.launchpad.net/bugs/1725348
|
| |
|
|
|
|
|
|
|
|
|
| |
This makes each system call in SystemCallFilter= blacklist optionally
takes errno name or number after a colon. The errno takes precedence
over the one given by SystemCallErrorNumber=.
C.f. #7173.
Closes #7169.
|
| |
|
|\
| |
| | |
dynamic-user: permit the case static uid and gid are different
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
| |
@aio → asynchronous IO calls
@sync → msync/fsync/... and friends
@chown → changing file ownership
(Also, change @privileged to reference @chown now, instead of the
individual syscalls it contains)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the '@credentials' syscall set that was added in commit
v234-468-gcd0ddf6f75.
Most of these syscalls are so simple that we do not want to filter them.
They work on the current calling process, doing only read operations,
they do not have a deep kernel path.
The problem may only be in 'capget' syscall since it can query arbitrary
processes, and used to discover processes, however sending signal 0 to
arbitrary processes can be used to discover if a process exists or not.
It is unfortunate that Linux allows to query processes of different
users. Lets put it now in '@process' syscall set, and later we may add
it to a new '@basic-process' set that allows most basic process
operations.
|
| |
|
|
|
|
| |
See: #6045
|
|\
| |
| | |
Add KeyringMode unit property to fix cryptsetup key caching
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Usually, it's a good thing that we isolate the kernel session keyring
for the various services and disconnect them from the user keyring.
However, in case of the cryptsetup key caching we actually want that
multiple instances of the cryptsetup service can share the keys in the
root user's user keyring, hence we need to be able to disable this logic
for them.
This adds KeyringMode=inherit|private|shared:
inherit: don't do any keyring magic (this is the default in systemd --user)
private: a private keyring as before (default in systemd --system)
shared: the new setting
|
|/
|
|
|
|
|
| |
(Heavily reworked by Lennart while rebasing)
Fixes: #3545
Replaces: #5159
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#6824)
If two separate log streams are connected to stdout and stderr, let's
make sure $JOURNAL_STREAM points to the latter, as that's the preferred
log destination, and the environment variable has been created in order
to permit services to automatically upgrade from stderr based logging to
native journal logging.
Also, document this behaviour.
Fixes: #6800
|
|\
| |
| | |
man: explicitly distinguish "implicit dependencies" and "default dependencies"
|
| |
| |
| |
| | |
Fixes: #6793
|
|\ \
| | |
| | | |
convert nspawn syscall blacklist into a whitelist (and related stuff)
|
| | |
| | |
| | |
| | |
| | |
| | | |
These groups should be useful shortcuts for sets of closely related
syscalls where it usually makes more sense to allow them altogether or
not at all.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
With this setting we can explicitly unset specific variables for
processes of a unit, as last step of assembling the environment block
for them. This is useful to fix #6407.
While we are at it, greatly expand the documentation on how the
environment block for forked off processes is assembled.
|
| |
| |
| |
| |
| |
| |
| | |
"Currently, the following values are defined: xxx: in case <condition>" is
awkward because "xxx" is always defined unconditionally. It is _used_ in case
<condition> is true. Correct this and a bunch of other places where the
sentence structure makes it unclear what is the subject of the sentence.
|
|/
|
|
|
|
|
|
|
|
| |
This reworks the paragraph describing $SERVICE_RESULT into a table, and
adds two missing entries: "success" and "start-limit-hit".
These two entries are then also added to the table explaining the
$EXIT_CODE + $EXIT_STATUS variables.
Fixes: #6597
|
|
|
|
| |
Follow-up for c792ec2e3512a672881fc847ff432e26b641c9c9.
|
|
|
| |
Follow-up for 78e864e5b3cc11b72ae663f49f42f158cafbfedf.
|
| |
|
|
|
|
|
|
|
|
| |
Add LockPersonality boolean to allow locking down personality(2)
system call so that the execution domain can't be changed.
This may be useful to improve security because odd emulations
may be poorly tested and source of vulnerabilities, while
system services shouldn't need any weird personalities.
|
| |
|
|
|
|
|
|
|
| |
This new group lists all UID/GID credential changing syscalls (which are
quite a number these days). This will become particularly useful in a
later commit, which uses this group to optionally permit user credential
changing to daemons in case ambient capabilities are not available.
|
|
|
| |
Follow-up for effbd6d2eadb61bd236d118afc7901940c4c6b37.
|
|
|
|
|
|
|
|
| |
This introduces {State,Cache,Log,Configuration}Directory= those are
similar to RuntimeDirectory=. They create the directories under
/var/lib, /var/cache/, /var/log, or /etc, respectively, with the mode
specified in {State,Cache,Log,Configuration}DirectoryMode=.
This also fixes #6391.
|
|\
| |
| | |
core: Allow preserving contents of RuntimeDirectory over process restart
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
This introduces RuntimeDirectoryPreserve= option which takes a boolean
argument or 'restart'.
Closes #6087.
|
|/ |
|
|\
| |
| | |
Refuse to load some units
|
| | |
|
|/
|
|
|
|
|
| |
syusers.d (#6321)
As discussed here:
https://lists.freedesktop.org/archives/systemd-devel/2017-July/039237.html
|
|
|
|
| |
Fixes #5509.
|
|
|
|
|
|
|
| |
Without going into details, mention that libraries are also covered by the
filters, and that executable stacks are a no no.
Closes #5970.
|
|
|
|
| |
linkchecker ftw!
|
|
|
|
|
|
|
|
| |
Also updates the documentation and adds a mention of ppc64 support
which was enabled by #5325.
Tested on Debian mipsel and mips64el. The other 4 mips architectures
should have an identical user <-> kernel ABI to one of the 2 tested
systems.
|
|
|
|
|
|
|
| |
Environment= (#5710)
It wasn't clear before how an equals sign in an "Environment=" value might be
handled. Ref:
http://stackoverflow.com/questions/43278883/how-to-write-systemd-environment-variables-value-which-contains/43280157
|
| |
|
|
|
|
|
|
| |
MountAPIVFS=
See: #5384
|