服务器账户安全:服务账号无 shell 配置

梦晨君_4258

梦晨君_4258

2026-07-04

666人浏览

原创

必须设为 /sbin/nologin 而非 /bin/false,因其被 rhel/centos 的 pam 和 login 明确认可,返回清晰提示且兼容 cron、su -c 等机制;而 /bin/false 在部分版本中会导致 cron 任务静默失败。

服务器账户安全:服务账号无 shell 配置

服务账号无 shell 配置,核心目标是阻止其交互式登录,同时保障系统服务正常运行。这不是简单删掉 shell,而是用合法、可控的方式切断登录入口,又不干扰 cron、systemd 或其他依赖该账户的服务调用。

为什么必须设为 /sbin/nologin 而非 /bin/false?
RHEL/CentOS 系统中,/sbin/nologin 是 PAM 和 login 程序明确认可的“不可登录 shell”,会返回清晰提示(如 This account is currently not available.),且兼容 cron、at、su -c 等机制;而 /bin/false 在部分补丁版本中会导致 cron 任务静默失败——任务被 exec 调用时直接退出,不报错也不执行。

确保 /sbin/nologin 被系统认可
该路径必须写入 /etc/shells,否则 su - username 会报错 Cannot execute /sbin/nologin: No such file or directory(即使文件真实存在)。

  • RHEL 8+ 默认已包含;
  • RHEL 7 需手动追加:
    echo "/sbin/nologin" >> /etc/shells

    验证命令:grep nologin /etc/shells

批量设置服务账号 shell
对所有非交互账户(如 nginx、mysql、redis、daemon 等),统一设为 /sbin/nologin:

# 查看当前使用 /bin/bash 或 /bin/sh 的系统账号
awk -F: '$3 <p><strong>验证是否生效</strong>  </p><div class="aritcle_card flexRow artxards">
											<div class="artcardd flexRow">
												<a class="aritcle_card_img" rel="nofollow" href="/ai/951" title="Felo"><img
														src="https://img.php.cn/upload/ai_manual/000/000/000/175680005526161.jpg" alt="Felo" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
												<div class="aritcle_card_info flexColumn">
													<a rel="nofollow" href="/ai/951" title="Felo" class="overflowclass">Felo</a>
													<p class="overflowclass">Felo是一款结合 AI 搜索、实时翻译、研究整理和内容生成的多语言智能工具。</p>
												</div>
												<a rel="nofollow" href="/ai/951" title="Felo" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span>
												</a>
											</div>
										</div>
  • SSH 登录该账号:立即断开,并显示 This account is currently not available.
  • su - nginx -c 'whoami':返回 This account is currently not available.,不进入 shell
  • ps aux | grep nginx:服务进程仍正常运行(说明未影响服务本身)

补充兜底:PAM 层限制(防绕过)
仅改 shell 字段无法拦截 sudo -u nginx /bin/bash 或 SSH 的 command= 强制执行。需配合 PAM:

  • 创建禁止执行 shell 的组:
    groupadd noexec
    usermod -aG noexec nginx mysql
  • 编辑 /etc/pam.d/system-auth,在 auth [default=die] 行前插入:
    auth [success=ok default=bad] pam_succeed_if.so user ingroup noexec
    auth [default=die] pam_deny.so

    此配置让属于 noexec 组的用户,任何尝试启动交互式 shell 的行为均被拒绝。

服务账号无 shell 不是“一刀切禁用”,而是精准隔离——让它们只做本职(运行服务),不做任何登录或命令执行。配置到位后,既堵住提权跳板,又不伤业务连续性。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

417

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

840

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2432

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

816

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

729

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

374

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2196

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4032

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

647

5

热门下载

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

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.2万人学习