linux只允许从ttyS0设备登录,linux自动以root登录,并自动启动用户程序的设置方...

第一步:删除root用户

vi /etc/passwd

该文件的第一行:root:X:0:0:root:/root:/bin/bash,只需要把第二个字段X删除就可以。变为: root::0:0:root:/root:/bin/bash

vi /etc/shadow

该文件的第一行:root:!^*@(*&:0:99999:7::1,只需要把第二个字段删除就可以。变为: root::14125:0:99999:7::1 至此,就把root用户的密码删除了。

第二步:在系统启动时自动以root用户登录

1:2345:raspawn:/sbin/getty 38400 tty1 (用/sbin/mingetty来启动终端,tty1表启动的终端号)

修改tinylogin里getty.c里的源码char *logname = "root";替换掉tinylogin执行文件

这样,系统启动时就会以root用户自动登录,而不需要手动输入用户名。

第三步:系统刚启动时,用户主目录为/root ,要把系统启动是要自动启动的程序放在此目录下。

第四步:在配置文件中添加自动启动的程序(main是要自动启动的程序)

vi /root/.profile 在此文件的末尾添加 /root/main即可

针对IMX6的系统是如下解决的,并且不影响CTRL+C:

在/home/root创建login.sh文件

#!/bin/sh

/bin/login -f root

在etc/init.d/rc_mxc.S文件按照如下修改

if grep -sq ttymxc0 /proc/cmdline; then

/sbin/getty -n -l /home/root/login.sh ttymxc0 115200 vt100

elif grep -sq ttymxc1 /proc/cmdline; then

/sbin/getty -L ttymxc1 115200 vt100

elif grep -sq ttymxc2 /proc/cmdline; then

/sbin/getty -L ttymxc2 115200 vt100

elif grep -sq ttymxc3 /proc/cmdline; then

/sbin/getty -L ttymxc3 115200 vt100

else

sleep 100000

fi

参考:https://blog.csdn.net/asmxpl/article/details/21701473

使用关键字 sysvinit, 加上前面的错误信息, 发现人家都是使用 getty.于是修改inittab respawn 一行如下:

T0:2345:respawn:/sbin/getty-L ttyS2 115200 vt100

此时登录时需要帐号,密码, 但是ctrl-c 可以正常工作。

开始研究 getty 自动登录, 从:

http://forum.ubuntu.org.cn/viewtopic.php?f=86&t=88847&start=0

得到答案:

修改inittab respawn 一行

T0:2345:respawn: /sbin/getty -n -l /bin/autologin 115200 ttyS2 vt100

并创建可执行文件:/bin/autologin

#!/bin/sh

/bin/login -f root

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值