zoukankan      html  css  js  c++  java
  • [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

  • 相关阅读:
    NaN数值类型
    模板字符串
    一文带你速懂虚拟化KVM和XEN
    CentOS 8配置本地yum源及DNF简介
    fxksmdb.exe 是什么进程?
    入行IT,一定要会Linux吗?
    干货|Linux平台搭建网关服务器
    忘带U盘了??别急!一行python代码即可搞定文件传输
    手把手教你如何搭建一个私有云盘
    误删重要文件怎么办?学会Linux 救援模式再也不担心
  • 原文地址:https://www.cnblogs.com/little-kwy/p/14828700.html
Copyright © 2011-2022 走看看