1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-01 09:21:26 +03:00
The systemd System and Service Manager
Go to file
Lennart Poettering 2d3a5a73e0 nspawn: make sure images containing an ESP are compatible with userns -U mode
In -U mode we might need to re-chown() all files and directories to
match the UID shift we want for the image. That's problematic on fat
partitions, such as the ESP (and which is generated by mkosi's
--bootable switch), because fat of course knows no UID/GID file
ownership natively.

With this change we take benefit of the uid= and gid= mount options FAT
knows: instead of chown()ing all files and directories we can just
specify the right UID/GID to use at mount time.

This beefs up the image dissection logic in two ways:

1. First of all support for mounting relevant file systems with
   uid=/gid= is added: when a UID is specified during mount it is used for
   all applicable file systems.

2. Secondly, two new mount flags are added:
   DISSECT_IMAGE_MOUNT_ROOT_ONLY and DISSECT_IMAGE_MOUNT_NON_ROOT_ONLY.
   If one is specified the mount routine will either only mount the root
   partition of an image, or all partitions except the root partition.
   This is used by nspawn: first the root partition is mounted, so that
   we can determine the UID shift in use so far, based on ownership of
   the image's root directory. Then, we mount the remaining partitions
   in a second go, this time with the right UID/GID information.
2017-12-05 13:49:12 +01:00
.github Docs: Fix spelling and capitalization (#7408) 2017-11-21 14:37:16 +01:00
.mkosi Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
catalog Add license headers and SPDX identifiers to meson.build files 2017-11-19 19:08:15 +01:00
coccinelle coccinelle: add a run-coccinelle.sh script that runs all scripts 2017-11-29 20:12:26 +01:00
docs Add license headers and SPDX identifiers to meson.build files 2017-11-19 19:08:15 +01:00
factory/etc factory: remove broken pam_limits 2014-07-30 15:21:54 +02:00
hwdb Added Logitech MX Master 2s (#7487) 2017-11-28 12:30:31 +10:00
man Merge pull request #7237 from keszybz/growfs 2017-12-01 17:58:58 +01:00
modprobe.d Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
network Add license headers and SPDX identifiers to meson.build files 2017-11-19 19:08:15 +01:00
po Add license headers and SPDX identifiers to meson.build files 2017-11-19 19:08:15 +01:00
rules meson: re-attach rule-syntax-check.py test 2017-11-22 12:46:08 +01:00
shell-completion Add license headers and SPDX identifiers to meson.build files 2017-11-19 19:08:15 +01:00
src nspawn: make sure images containing an ESP are compatible with userns -U mode 2017-12-05 13:49:12 +01:00
sysctl.d Add license headers and SPDX identifiers to meson.build files 2017-11-19 19:08:15 +01:00
system-preset Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
sysusers.d sysusers: Provide meson argument to set gid for 'users' group (#7533) 2017-12-03 13:28:23 +01:00
test tests: fix description of TEST-14-MACHINE-ID 2017-11-29 12:34:12 +01:00
tmpfiles.d Add license headers and SPDX identifiers to meson.build files 2017-11-19 19:08:15 +01:00
tools test: set log_level to info in test-hwdb and check-help-* 2017-11-26 00:01:55 +09:00
units Add license headers and SPDX identifiers to meson.build files 2017-11-19 19:08:15 +01:00
xorg login: support user-bus on dbus1 2015-08-31 18:12:37 +02:00
.dir-locals.el meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
.editorconfig editorconfig: add rule for meson.build files (#6671) 2017-08-28 16:37:23 +02:00
.gitattributes git: indicate that tabs are never OK in the systemd tree 2013-10-30 02:25:38 +01:00
.gitignore Add mkosi.output/ to .gitignore 2017-11-29 14:33:56 +01:00
.mailmap update .mailmap a bit more 2017-10-05 17:39:50 +02:00
.travis.yml remove gudev and gtk-doc 2015-06-03 00:22:53 +02:00
.vimrc vimrc: fix indentation logic for our docbook xml files 2016-04-29 12:23:34 +02:00
.ycm_extra_conf.py ycm: add doc string for all the functions in configuration file 2017-11-29 13:21:49 -07:00
CODING_STYLE CODING_STYLE: document the order in which unescaping + specifier expansion should be done 2017-11-29 12:32:56 +01:00
configure build-sys: add basic support for ./configure && make && make install 2017-07-18 10:05:06 -04:00
DISTRO_PORTING DISTRO_PORTING: document that distros may/should change fallback DNS as well as fallback NTP if they wish 2017-07-24 11:49:16 +02:00
ENVIRONMENT.md documentation: document nss-systemd's internal environment variables in ENVIRONMENT.md 2017-09-22 15:24:55 +02:00
HACKING HACKING: add a short description of new unit tests 2017-11-04 21:15:57 +01:00
LICENSE.GPL2 relicense to LGPLv2.1 (with exceptions) 2012-04-12 00:24:39 +02:00
LICENSE.LGPL2.1 licence: remove references to old FSF address 2012-12-17 11:41:31 +01:00
Makefile build-sys: Fix Makefile wrapper for install target (#6548) 2017-08-07 11:29:20 +02:00
meson_options.txt sysusers: Provide meson argument to set gid for 'users' group (#7533) 2017-12-03 13:28:23 +01:00
meson.build meson: fix indentation 2017-12-05 14:01:39 +09:00
mkosi.build mkosi: do not build man pages 2017-11-29 14:33:55 +01:00
mkosi.default mkosi: create .mkosi directory 2016-10-06 11:53:58 -04:00
NEWS NEWS: update the text a bit (#7524) 2017-12-01 16:25:19 +01:00
README README: add requirements for IPAddress{Allow,Deny} (#7414) 2017-11-21 23:54:20 +01:00
README.md README.md: add CII Best Practices badge 2017-11-04 21:15:57 +01:00
TODO Merge pull request #7481 from poettering/bpf-test-fix 2017-12-01 13:52:32 +01:00
TRANSIENT-SETTINGS.md documentation: add document listing all unit file settings also supported for transient units 2017-11-29 12:34:12 +01:00

systemd - System and Service Manager

Count of open issues over time Count of open pull requests over time Build Status
Coverity Scan Status
CII Best Practices

Details

General information about systemd can be found in the systemd Wiki.

Information about build requirements are provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the HACKING file for information how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.