1

我正在尝试使用 systemd-nspawn 但是当我启动它并尝试以 root 身份登录时 - 它仍然要求输入密码。他们提到关闭审计——我已经做到了。

我的 cmd 行最后说 audit=0 。

$ cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.19.7-200.fc21.x86_64 root=/dev/mapper/fedora_localhost-root ro rd.lvm.lv=fedora_localhost/swap rd.lvm.lv=fedora_localhost/root rhgb audit=0 quiet

(这是 fedora 21)使用这些文档https://fedoraproject.org/wiki/Features/SystemdLightweightContainers

当我尝试更改密码时,它告诉我我有一个身份验证令牌操作错误。

$ sudo systemd-nspawn -D /srv/eq1 
Spawning container eq1 on /srv/eq1.
Press ^] three times within 1s to kill container.
-bash-4.3# passwd
Changing password for user root.
New password: 
Retype new password: 
passwd: Authentication token manipulation error
-bash-4.3# 
4

1 回答 1

0

它是关于 selinux 上下文的,几乎遵循http://www.freedesktop.org/software/systemd/man/systemd-nspawn.html中的示例 6

您必须更改容器上下文,然后使用正确的上下文运行它:

chcon system_u:object_r:svirt_sandbox_file_t:s0:c0,c1 -R /srv/container
systemd-nspawn -L system_u:object_r:svirt_sandbox_file_t:s0:c0,c1 -D /srv/container

发出第二个命令后,您就可以更改密码了。在 CTRL+]]] 之后,您可以发出通常的“systemd-nspawn -bD /srv/container”并引导您的容器。

于 2015-08-04T20:48:17.713 回答