Commit graph

21 commits

Author SHA1 Message Date
Lennart Poettering 576a01c873 nspawn: compress mount table a bit 2011-07-13 22:50:59 +02:00
Lennart Poettering f5c1b9eeb9 nspawn: always use bind mounts to make API file systems available in the container
This ensures that read-only flags are never passed from the container to
the host OS.
2011-07-13 21:57:56 +02:00
Lennart Poettering 5c94603d4c nspawn: better use setresuid() instead of setreuid() 2011-07-01 23:53:14 +02:00
Michal Vyskocil 687d0825a4 nspawn: spawn shell under specified --user
Add -u/--user option, which changes the effective and real user and
group id to the new value. The user must exists in the chroot, otherwise
it will fail. Both username and user id are accepted. The user home is
created as well.

It also setup HOME, USER, LOGNAME and SHELL variables .
2011-07-01 23:51:14 +02:00
Lennart Poettering ae556c2109 execute: don't choke when systemd was compiled with a different CAP_LAST_CAP then what it is run with 2011-06-28 13:33:56 +02:00
Kay Sievers fbe092cc70 mount /run without MS_NOEXEC 2011-06-14 14:15:40 +02:00
Lennart Poettering 0c749d504e nspawn: don't fail when we receive SIGCHLD
https://bugs.freedesktop.org/show_bug.cgi?id=36148
2011-04-20 04:12:17 +02:00
Kay Sievers 2b583ce657 use /run instead of /dev/.run
Instead of the /dev/.run trick we have currently implemented, we decided
to move the early-boot runtime dir to /run.

An existing /var/run directory is bind-mounted to /run. If /var/run is
already a symlink, no action is taken.

An existing /var/lock directory is bind-mounted to /run/lock.
If /var/lock is already a symlink, no action is taken.

To implement the directory vs. symlink logic, we have a:
  ConditionPathIsDirectory=
now, which is used in the mount units.

Skipped mount unit in case of symlink:
  $ systemctl status var-run.mount
  var-run.mount - Runtime Directory
    Loaded: loaded (/lib/systemd/system/var-run.mount)
    Active: inactive (dead)
            start condition failed at Fri, 25 Mar 2011 04:51:41 +0100; 6min ago
     Where: /var/run
      What: /run
    CGroup: name=systemd:/system/var-run.mount

The systemd rpm needs to make sure to add something like:
  %pre
  mkdir -p -m0755 /run >/dev/null 2>&1 || :
or it needs to be added to filesystem.rpm.

Udev -git already uses /run if that exists, and is writable at bootup.
Otherwise it falls back to the current /dev/.udev.

Dracut and plymouth need to be adopted to switch from /dev/.run to run
too.

Cheers,
Kay
2011-03-28 23:00:00 +02:00
Lennart Poettering 715ac17a84 nspawn: bind mount /etc/localtime 2011-03-16 03:27:02 +01:00
Lennart Poettering fd14078a3a nspawn: make tty code more robust against closed/reopened /dev/console 2011-03-16 03:18:23 +01:00
Lennart Poettering a258bf2648 nspawn: allocate a new pty instead of passing ours through to avoid terminal settings chaos 2011-03-16 02:57:52 +01:00
Lennart Poettering 04d391dabc nspawn: move container into its own name=systemd cgroup 2011-03-14 22:33:58 +01:00
Lennart Poettering 3bd66c05d5 nspawn: don't require selinux on if it is compiled in 2011-03-14 17:44:03 +01:00
Lennart Poettering 9b634ea5fb nspawn: mount /selinux if needed 2011-03-14 15:37:09 +01:00
Lennart Poettering 64af1b6207 nspawn: we don't want a network namespace 2011-03-14 15:37:09 +01:00
Lennart Poettering 90df7e567f main: log to the console in a container 2011-03-14 15:37:02 +01:00
Lennart Poettering da5b3bad1c nspawn: reset environment and load login shell 2011-03-14 03:28:16 +01:00
Lennart Poettering 124640f177 nspawn: reset umask if needed 2011-03-14 03:28:00 +01:00
Lennart Poettering 94d8298589 nspawn: define MS_MOVE manually if needed 2011-03-14 03:27:28 +01:00
Lennart Poettering 6df6b93910 nspawn: improve exit warning 2011-03-14 03:12:25 +01:00
Lennart Poettering 8821347618 nspawn: add simple chroot(1) like tool to execute commands in a namespace container 2011-03-14 03:12:25 +01:00