当前位置: 首页 > news >正文

Debian11的系统,在串口终端ttyS0开机直接登陆root用户,无需输入密码验证,即设置串口自动登录

在Debian 11上为串口配置root自动登录,最标准且安全的方法是为`serial-getty`服务创建一个“覆盖(override)配置文件”。这样做的好处是,当系统更新时,你的自定义设置不会被覆盖。

下面是具体的操作步骤,请将命令中的`ttyS0`替换为实际的串口设备名(例如`ttyS0`、`ttyAMA0`等)。

步骤一:创建服务覆盖目录

首先,为`serial-getty@ttyS0`服务创建一个专有的配置目录。

```bash
sudo mkdir -p /etc/systemd/system/serial-getty@ttyS0.service.d/
```

步骤二:创建并编辑覆盖配置文件

1. 在该目录下创建一个名为`autologin.conf`的文件。
```bash
vi /etc/systemd/system/serial-getty@ttyS0.service.d/autologin.conf
```

2. 将以下内容粘贴到文件中:
```ini
[Service]
ExecStart=
ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud --autologin root 115200,57600,38400,9600 %I $TERM
Type=idle
```
参数说明:
ExecStart=:这行是必须的,用于**清空**服务原本的启动命令,以便用新命令替换。
--autologin root:核心参数,指定自动以`root`用户登录。
-o '-p -- \\u':这个选项用于将登录用户名(`root`)传递给`/bin/login`。
--keep-baud:尝试保留之前的波特率设置。
115200:指定尝试的波特率列表,会按顺序尝试。
%I:由systemd自动替换为实际的串口设备名(如`ttyS0`)。
Type=idle:确保服务在系统较为空闲时启动,避免干扰其他关键服务。

3. 保存文件并退出编辑器。

步骤三:赋予root用户串口登录权限

这是至关重要的一步,否则即使设置了自动登录,root用户也可能因为PAM(可插拔认证模块)策略而无法登录。

1. 编辑PAM的登录配置文件:

sudo vi /etc/pam.d/login

2. 在文件的**顶部**添加一行:

auth sufficient pam_listfile.so item=tty sense=allow file=/etc/rootshelltty onerr=fail apply=root

这行配置的意思是:对于root用户,如果其登录的TTY在`/etc/rootshelltty`文件中列出,则允许登录。

3. 创建`/etc/rootshelltty`文件,并将你的串口设备名写入其中。

echo /dev/ttyS0 | sudo tee /etc/rootshelltty

步骤四:应用配置

重新加载systemd配置并重启串口服务,使改动生效。


sudo systemctl daemon-reload
sudo systemctl restart serial-getty@ttyS0.service

验证配置

你可以通过以下命令检查服务的状态,确认它已正确启动。


sudo systemctl status serial-getty@ttyS0.service

在输出中,你应该能看到类似包含`--autologin root`的启动命令。之后,通过串口连接设备,系统应该会自动以root用户登录,不再提示输入用户名和密码。

⚠️ 安全提醒

* **安全风险**:此配置使任何能物理接触到串口的人都能直接获得**root权限**,存在严重的安全隐患。
应用场景:此方法通常仅用于**开发调试**或**嵌入式设备**等受控环境。
备选方案:如果只是想免除密码输入,但保留用户名输入,可以考虑配置SSH密钥登录,这是一种更安全的方式。

按照以上步骤操作,即可实现Debian 11系统在串口界面开机自动登录root。如果配置后未生效,请仔细检查各步骤中的文件名、设备名是否准确无误。

http://www.jsqmd.com/news/1153682/

相关文章:

  • 暗黑破坏神3自动按键工具终极指南:3分钟解放双手,游戏效率提升200%
  • 小米增程车或进入发布倒计时
  • 告别网盘限速的终极秘诀:LinkSwift直链下载助手完全指南
  • 智能直流负载管理系统设计与优化实践
  • 告别网盘限速!九大平台直链下载助手LinkSwift深度评测
  • 【Autosar从入门到精通到进阶实战篇】20 CANopen SDO深度解析:从对象字典读写到分段传输实战
  • Claude Code的一些核心用法
  • umy-ui架构解析:Vue 2.0企业级大数据表格性能优化实战指南
  • GitHub下载速度革命:Fast-GitHub插件10倍加速终极指南
  • Poppler Windows预编译包:一站式PDF处理解决方案
  • 免费通配符SSL证书申请+Nginx自动部署+到期监控完整教程
  • KMS_VL_ALL_AIO:基于微软KMS协议的企业级系统激活架构解析
  • 深度解析SMAPI架构设计:如何构建跨平台星露谷物语模组生态系统
  • 《用AI做公众号流量主》第2课:收益底层逻辑,谁在付钱?
  • 电脑越用越慢?3个步骤让Windows系统重获新生
  • RVC语音克隆技术深度解析:如何用10分钟数据构建专业级AI音色系统
  • 从ZUC-128算法实现看流密码:原理、代码与5G通信安全实践
  • CircuitJS1 Desktop Mod:零基础上手,打造你的个人电子实验室
  • 4类打架检测数据集对比:UBI-Fights、Hockey等3000+视频的场景与性能分析
  • CVE与CNVD漏洞申报指南:从实战发现到证据链构建
  • MP2672A充电管理芯片与PIC18F97J94微控制器的电池系统设计
  • 告别网盘限速困扰:九大平台直链下载助手全面指南
  • 网络安全实战能力进阶:从DVWA到SRC的靶场训练全路径指南
  • SQLite 快速入门:基础知识与 Python 实战
  • 语音转换技术突破:Retrieval-based-Voice-Conversion-WebUI实现10分钟数据高效训练与实时变声
  • 《Linux文本编辑器学习笔记 vim命令+课后练习》
  • 免费在线法线贴图生成器:3分钟将普通图片变3D纹理的终极指南
  • Kueue 学习第三篇:安装、配额借用与优先级抢占
  • 174、VS Code 调试配置:launch.json、条件断点、logpoint、Debug Console 实战
  • CCRC数据安全资质全解析:从PIPA到CSERE,甲方到底认哪个?