在systemd-nspawn容器中root登录Arch Linux

容器使用

Posted by wszqkzqk on July 21, 2023
本文字数:398

前言

在systemd-nspawn容器中使用root登录Arch Linux时,会发现即使输入正确的密码,也会提示密码错误。这是因为Arch Linux的安全策略仅允许root用户在consoletty1tty2tty3tty4tty5tty6ttyS0hvc0这些终端登录,而容器中的终端并不在这些终端列表中。

解决方法

解决方法很简单,只需要在容器中的/etc/securetty文件中添加容器的终端即可,例如:

echo "pts/0" >> /etc/securetty

说明

这一方法存在风险,因为/etc/securetty文件中的终端会被视为安全终端,允许root用户登录。因此,如果容器中的终端被其他用户控制,可能会导致安全问题。

一般来说,使用systemd-nspawn容器时,仍然建议使用machinectl login或者machinectl shell等命令登录容器。