如何在 UART 控制台中禁用自动登录

如何在 UART 控制台中禁用自动登录

我们使用带有嵌入式 Linux 的卡:4.1.22-ltsi,“Debian GNU/Linux 9 (stretch)”。

在Uart控制台上,启动过程后,它自动登录并显示提示

root@linaro-developer:
root@linaro-developer: who am i
root ttyS0 2016-11-03 17:16

问题:

如何更改 Linux 配置以禁用此类自动登录以允许安全连接到卡?

请参阅下面的 /etc/inittab 文件

# /etc/inittab
#
# Copyright (C) 2001 Erik Andersen <[email protected]>
#
# Note: BusyBox init doesn't support runlevels.  The runlevels field is
# completely ignored by BusyBox init. If you want runlevels, use
# sysvinit.
#
# Format for each entry: <id>:<runlevels>:<action>:<process>
#
# id        == tty to run on, or empty for /dev/console
# runlevels == ignored
# action    == one of sysinit, respawn, askfirst, wait, and once
# process   == program to run

# Startup the system
null::sysinit:/bin/mount -t proc proc /proc
null::sysinit:/bin/mount -o remount,rw /
null::sysinit:/bin/mkdir -p /dev/pts
null::sysinit:/bin/mkdir -p /dev/shm
null::sysinit:/bin/mount -a
null::sysinit:/bin/hostname -F /etc/hostname
# now run any rc scripts
::sysinit:/etc/init.d/rcS

# Do not ask for a password at boot
console::respawn:-/bin/sh
# Put a getty on the serial port
# console::respawn:/sbin/getty -L  console 115200 vt100 # GENERIC_SERIAL

# Stuff to do for the 3-finger salute
::ctrlaltdel:/sbin/reboot

# Stuff to do before rebooting
::shutdown:/etc/init.d/rcK
::shutdown:/sbin/swapoff -a
::shutdown:/bin/umount -a -r

在 @MC68020 帖子后编辑。

根据@MC68020的建议我做了如下更改,但没有结果!

代替

# Do not ask for a password at boot
console::respawn:-/bin/sh
# Put a getty on the serial port
# console::respawn:/sbin/getty -L  console 115200 vt100 # GENERIC_SERIAL

我设置

# Do not ask for a password at boot
# console::respawn:-/bin/sh
# Put a getty on the serial port
console::respawn:/sbin/getty -L  console 115200 vt100

答案1

/etc/inittab文件描述了在启动时和正常操作期间启动哪些进程以及如何启动。该流程由在里面为了管理终端是盖蒂反过来,它将根据给定命令的参数启动 /bin/login 进程。

查看您的 /etc/inittab,您可能会读到类似以下内容:

s0:12345:respawn:/sbin/agetty -a root -L 115200 ttyS0 vt100

注意-A启用您不希望的自动登录的选项终端S0。因此只需将其删除(连同以下用户名)。


有关 OP 的 inittab 的更多信息后进行编辑:

您知道该行console::respawn:-/bin/sh指示 init 绕过 getty 并直接在控制台上 fork shell。所以……只需将其删除或注释掉即可。
相反,删除前面应该启动 getty 的注释符号,并顺便删除登录过程:console::respawn:/sbin/getty -L console 115200 vt100 # GENERIC_SERIAL


顺便说一句,安全总比后悔好……确保您在进行更改之前获得有效的用户名/密码关联……

相关内容