讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux怎么关闭所有非必要的系统默认账号如lp、news、games

云伟君_1537

云伟君_1537

发布时间:2026-10-30 12:25:49

|

578人浏览过

|

来源于php中文网

原创

非必要账号指UID在1–999且shell为/bin/bash或/bin/sh的系统账号,如lp、news、games等;sync、shutdown等虽不提供登录但shell若为/bin/bash仍有风险;adm、daemon等可能被服务依赖,root及现代服务账号不可删。

linux怎么关闭所有非必要的系统默认账号如lp、news、games

哪些账号算“非必要”?先看 UID 和用途

系统默认账号是否可关,不能只看名字。关键看两点:UID 是否在 1–999 范围(RHEL/CentOS/Debian 默认规则),以及当前 shell 是否为 /sbin/nologin 或 /usr/sbin/nologin。像 lp、news、games、uucp、operator 这类账号,多数已无服务依赖,且 shell 常为 /bin/bash 或 /bin/sh——这就构成风险。

  • sync、shutdown、halt 是内核级命令调用账号,不提供登录入口,但 shell 若为 /bin/bash,仍可能被 su 或 ssh 利用
  • adm、daemon、mail 在部分发行版中仍被日志或邮件服务引用,直接删可能中断 rsyslog 或 postfix
  • root(UID=0)、sshd、systemd-network、polkitd 等现代服务账号,shell 通常已是 /usr/sbin/nologin,不要动

推荐先跑这行命令定位目标:

awk -F':' '$3 >= 1 && $3 <= 999 && $7 !~ /nologin|false$/ {print $1 ":" $7}' /etc/passwd
它会列出所有 UID 在 1–999 之间、且 shell 不是安全值的账号,比如输出 lp:/bin/bash 或 games:/bin/sh 就该处理。

禁用比删除更安全:用 usermod -s 改 shell

直接 userdel 删除账号有风险:若某服务 unit 文件(如 /usr/lib/systemd/system/cups.service)里写了 User=lp,删掉 lp 后 cups 可能启动失败,错误日志里只报 “Failed to set user credentials”,不提账号不存在。

更稳妥的做法是把 shell 换成 /sbin/nologin(CentOS/RHEL)或 /usr/sbin/nologin(Ubuntu/Debian 20.04+):

  • 单个操作:sudo usermod -s /sbin/nologin lp
  • 批量操作(谨慎!建议先加 echo 预览):awk -F':' '$1 ~ /^(lp|news|games|uucp|operator)$/ && $7 !~ /nologin|false$/ {print "sudo usermod -s /sbin/nologin " $1}' /etc/passwd | sh
  • 注意跳过 root、sshd、systemd-network:加条件 $1 !~ /^(root|sshd|systemd-network)$/

改完必须确认 /etc/shells 包含该路径:

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
grep nologin /etc/shells
如果没输出,补上:echo "/sbin/nologin" | sudo tee -a /etc/shells

验证是否真生效:三件事缺一不可

改完 /etc/passwd 不代表完事。必须实测:

  • 查文件:grep ^lp: /etc/passwd → 第七列应为 /sbin/nologin
  • 测试登录:su - lp 或 ssh lp@localhost → 应立即退出,并显示 This account is currently not available.
  • 验证服务:sudo systemctl restart rsyslog cron cups(按你实际启用的服务选)→ 查 journalctl -u rsyslog -n 20,确认无 “User lp does not exist” 类报错

特别注意:sync 和 shutdown 账号即使 shell 改了,sudo reboot 仍正常;但若你手动写脚本用 su -c '...' sync,就得同步检查脚本逻辑。

为什么别急着 userdel?组依赖和残留家目录是坑

userdel -r lp 看似干净,但容易踩三个坑:

  • lp 组可能还被 CUPS 的配置文件(如 /etc/cups/cups-files.conf)引用,删组后权限校验失败
  • games 账号的家目录(/usr/games)常被某些 legacy 二进制依赖,删目录可能让 fortune 或 bsdgames 报错
  • news 账号若曾运行过 inn,其 spool 目录(/var/spool/news)可能被 rsyslog 的 imfile 模块监控,删账号不删目录会导致日志轮转异常

真正需要删的,只有你明确确认过以下四点的账号:

  • systemctl list-dependencies --reverse --type=service lp.target(或对应账号名)返回空
  • grep -r lp /etc/systemd/ /usr/lib/systemd/ 2>/dev/null 无结果
  • crontab -u lp -l 2>/dev/null 和 sudo -u lp ls /var/spool/cron/crontabs/ 2>/dev/null 均失败
  • getent group lp 返回空,且 grep :lp: /etc/group 仅剩组定义行(无成员)

复杂点在于:很多“默认账号”不是孤立存在,而是嵌套在 systemd、PAM、auditd 的策略链里。改 shell 是最小侵入动作,删账号是最后一步——而且往往根本不需要删。

热门AI工具

更多
小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

花生AI
花生AI Hot

一款AI视频创作工具,主要用于B站推出的AI视频创作工具,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

4290

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3613

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2873

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

7050

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

6682

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3833

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

3325

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

3579

2023.07.25

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

40

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

ubuntu官方总文档
ubuntu官方总文档

共0课时 | 0人学习

phpstorm开发手册
phpstorm开发手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn