Linux 在Yocto中使用串行控制台登录时启用根密码验证

Linux 在Yocto中使用串行控制台登录时启用根密码验证,linux,root,yocto,openembedded,Linux,Root,Yocto,Openembedded,我正在尝试为root用户启用登录验证 通过在local.conf中添加以下行,我可以在使用SSH以root用户身份登录时看到请求的密码 IMAGE_FEATURES_remove = "debug-tweaks empty-root-password" EXTRA_IMAGE_FEATURES_remove = "debug-tweaks empty-root-password" 但是,如果我尝试使用串行控制台(ttyS0)以root用户身份登录,它只是在没有任何密码验证或请求的情况下成功登录

我正在尝试为root用户启用登录验证

通过在local.conf中添加以下行,我可以在使用SSH以root用户身份登录时看到请求的密码

IMAGE_FEATURES_remove = "debug-tweaks empty-root-password"
EXTRA_IMAGE_FEATURES_remove = "debug-tweaks empty-root-password"
但是,如果我尝试使用串行控制台(ttyS0)以root用户身份登录,它只是在没有任何密码验证或请求的情况下成功登录

有人知道如何为串行控制台的访问启用登录验证吗

附言

我没有为root用户设置任何默认密码,所以它不应该允许root用户登录。
即使我为root用户设置了密码,在通过串行控制台登录时也不需要输入密码。

poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service

  • ExecStart=-/sbin/agetty-8--autologin root-L%I@BAUDRATE@$TERM
  • ExecStart=-/sbin/agetty-8-L%I@BAUDRATE@$TERM

poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service

  • ExecStart=-/sbin/agetty-8--autologin root-L%I@BAUDRATE@$TERM
  • ExecStart=-/sbin/agetty-8-L%I@BAUDRATE@$TERM

即使我为root用户设置了密码,在通过串行控制台登录时也不需要输入密码

您确定设置正确吗? 这是我用来修改root用户密码的内容(在
.bb
文件或
.inc
文件中):

如果您根本不想登录,也许可以更改用户的shell:

inherit extrausers
EXTRA_USERS_PARAMS += "usermod -s /bin/nologin root;"
用户将存在,将由应用程序使用,但无法登录

即使我为root用户设置了密码,在通过串行控制台登录时也不需要输入密码

您确定设置正确吗? 这是我用来修改root用户密码的内容(在
.bb
文件或
.inc
文件中):

如果您根本不想登录,也许可以更改用户的shell:

inherit extrausers
EXTRA_USERS_PARAMS += "usermod -s /bin/nologin root;"

用户将存在,将由应用程序使用,但无法登录。

也许这需要一些解释?谢谢,但这是为了使用串行控制台启用autologin。它不能解决我问的任何验证问题。以串行方式删除“-autologin root”-getty@.serivce,启动后将询问“登录用户”。但是,在输入“root”后,您仍然可以在没有任何密码请求的情况下登录。也许这需要一些解释?谢谢您,但这是为了使用串行控制台启用autologin。它不能解决我问的任何验证问题。以串行方式删除“-autologin root”-getty@.serivce,启动后将询问“登录用户”。不过,在输入“root”后,您仍然可以不需要任何密码就登录。非常感谢。使用
usermod-s/bin/nologin root
,我可以成功禁用root用户的登录。在我为root添加了密码(不使用默认值)之后,验证出现了。非常感谢。使用
usermod-s/bin/nologin root
,我可以成功禁用root用户的登录。在我为root添加了密码(不使用默认值)之后,验证出现了。