[Linux]树莓派:纯命令行界面下已设置用户自动登录,仍需要输入密码

Posted 墨文

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Linux]树莓派:纯命令行界面下已设置用户自动登录,仍需要输入密码相关的知识,希望对你有一定的参考价值。

自动登录一般是不需要密码的,即使已经通过passwd手动修改了密码。

这种情况非常稀有,以至于全网几乎找不到关于此情况的解决方法。。。

0x00:原因

未知。

0x01:现象

已修改过/etc/systemd/system/getty.target.wants/getty@tty1.service的ExecStart参数:

 

0x02:解决办法

很简单,将ExecStart参数改成这样:

ExecStart=-/sbin/agetty -o \'-p -f root\' -n -a root --noclear %I $TERM

保存,重启即可。

0x03:解决方法原理

问题可能出在agetty/login上,因为本人曾经修改过SHELL(修改/etc/passwd)但没有效果。

从根源入手,gettyService的agetty提供了这样几个参数:

-o, --login-options <opts> : options that are passed to login
-n, --skip-login : do not prompt for login
-a, --auto-login <user> : login the specified user automatically
==================
-o指定login参数,其实就是执行:
login <opts>
-n使agetty跳过登录程序,直接进入shell
-a指定自动登录的用户

发现仅凭-n,-a行不通时,login参数登场

这里就用到了agetty的-o选项

login提供了这样的伪命令:

login [-p] -f username
# 在manual中是这么说的:
-f : do not perform authentication, user is preauthenticated
================
-f跳过用户验证

因此,可以在agettyService里这么写:

ExecStart=-/sbin/agetty -o \'-p -f root\' -n -a root --noclear %I $TERM

至此,问题解决,

agetty,login都指定了自动登录相关的选项。

 

转:https://zhuanlan.zhihu.com/p/86297547

以上是关于[Linux]树莓派:纯命令行界面下已设置用户自动登录,仍需要输入密码的主要内容,如果未能解决你的问题,请参考以下文章

如何让树莓派默认启动进入图形界面

树莓派开启ssh服务远程连接

VNC远程登陆树莓派3(包括开机启动)

如何让树莓派默认启动进入图形界面

树莓派解决待机问题

树莓派-USB存储设备自动挂载