Linux 实现开机跳过输入用户名和密码

1、跳过密码验证

  很简单,只需把 /etc/passwd 中的 root:x:0:0:root:/root:/bin/bash,改为 root::0:0:root:/root:/bin/bash,就可以了,就是去掉了里面的 x,这样 root 用户就不用密码了,其他用户也一样。

  

2、跳过输入用户名

  (1) 修改/etc/inittab

    在inittab中,有如下配置

      1:2345:respawn:/sbin/agetty tty1 9600

      2:2345:respawn:/sbin/agetty tty2 9600

      3:2345:respawn:/sbin/agetty tty3 9600

      4:2345:respawn:/sbin/agetty tty4 9600

      5:2345:respawn:/sbin/agetty tty5 9600

      6:2345:respawn:/sbin/agetty tty6 9600

    里面表示系统可以有六个控制台,可以用ALT+(F1~F6)来切换。而 /sbin/agetty 就是一个登陆验证程序,执行它,会提示用户输入用户名和密码,然后启动一个指定的shell(在passwd文件中指定的)。

    所以,我们只需将其修改为不执行 agettty,而是执行自己编写的一个脚本,就可以跳过用户名和密码的输入,这里我自己编写的执行脚本的 mylog.sh。修改如下:

      1:2345:respawn:/usr/bin/mylog.sh tty1 9600 

    其中 /usr/bin 是保持脚本的路径,mylog.sh 是脚本名称。这里要注意,里面可能一些是Debug输出口或者其他用户的控制台,你要找到对应你要免输入登录的用户的控制台才行

         修改参考图如下,下图系统里的文件截图参考图跟我上面的多控制台配置数量有差别,不过原理一样,贴图只是为了方便参考。

          

              这里我在 /usr/bin/ 下放了一个测试脚本 mylog.sh ,这样系统启动时就会执行那个脚本,脚本内容:

#!/bin/bash

/bin/login -f root  #执行root用户登录操作

#这个脚本你还可以放一些其他操作在这里也行,不过需要注意的是,这里的操作输出信息你开机自动登录后是不会显示出来的
#你可以利用这里结合开机自启动程序做很多的操作,开机自启动参考我另外博客:https://www.cnblogs.com/xingboy/p/15909279.html

 

posted @   白菜没我白  阅读(5367)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示