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