Linux如何禁止用户登录?nologin与锁定账户方法
发布时间 - 2025-07-03 00:00:00 点击率:次禁止用户登录linux系统主要有两种方法:使用/sbin/nologin和passwd -l。1. 使用usermod -s /sbin/nologin username可永久禁用用户登录,并可通过/etc/nologin.txt自定义提示信息;2. 使用passwd -l username临时锁定账户,密码前加!表示锁定,通过passwd -u username解锁;前者更彻底且支持提示信息,后者适合临时禁用并保留原shell配置;同时需注意系统路径差异及非密码认证的限制补充。
禁止用户登录在Linux系统管理中是一个常见的需求,通常是为了安全或维护目的。实现这一目标的方法主要有两种:使用/sbin/nologin shell和锁定用户账户。下面详细说明这两种方法的操作步骤和适用场景。
使用 /sbin/nologin 禁止用户登录
这种方法适用于需要永久或长期禁用用户登录的情况。当用户的默认shell设置为/sbin时,该用户将无法通过终端或SSH登录系统。
/nologin
-
修改用户的登录Shell
使用usermod命令更改用户的默认shell:sudo usermod -s /sbin/nologin username
这样一来,用户尝试登录时会收到一个提示信息,默认情况下是“此帐户目前不可用”。
-
自定义提示信息(可选)
如果需要给用户更具体的提示,可以编辑/etc/nologin.txt文件,并在里面写入想要显示的消息。例如:您的账号已被禁用,请联系管理员。
这种方式不会影响用户在系统中的其他权限,比如运行定时任务或作为服务账户使用。
使用 passwd -l 锁定用户账户
如果你只是想临时禁用某个用户登录,而不改变其登录Shell,可以使用 passwd -l 命令锁定账户。
-
锁定用户账户命令:
sudo passwd -l username
这个操作会在
/etc/shadow文件中将用户的密码前加上一个感叹号(!),表示密码被锁定。 -
解锁用户账户命令:
sudo passwd -u username
锁定账户后,用户仍然可以通过其他方式(如SSH密钥认证)登录,前提是这些认证方式没有被额外限制。因此,如果要完全禁止登录,建议结合PAM模块或其他机制进行补充控制。
nologin 与锁定账户的区别
两种方法各有优劣,选择取决于具体需求:
-
/sbin/nologin的优势:- 更彻底地阻止登录行为,包括非密码认证方式(如SSH密钥)。
- 可以提供友好的提示信息。
-
passwd -l的优势:- 更适合临时性禁用,便于快速恢复。
- 不会影响用户的登录Shell配置,保留原有环境。
需要注意的是,某些系统可能使用 /usr/sbin/nologin 或 /bin/false 替代 /sbin/nologin,效果类似但细节略有不同。使用前建议确认路径是否正确。
基本上就这些。根据实际需求选择合适的方式即可,不复杂但容易忽略的是提示信息的设置和路径差异问题。
# linux
# 区别
# ssh
# 提示信息
# 用户登录
# 的是
# 两种
# 自定义
# 解锁
# 是一个
# 您的
# 如果你
# 已被
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
EditPlus中的正则表达式实战(5)
Java遍历集合的三种方式
西安专业网站制作公司有哪些,陕西省建行官方网站?
如何生成腾讯云建站专用兑换码?
手机软键盘弹出时影响布局的解决方法
如何用PHP快速搭建CMS系统?
公司门户网站制作流程,华为官网怎么做?
利用python获取某年中每个月的第一天和最后一天
如何快速查询网站的真实建站时间?
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
如何挑选最适合建站的高性能VPS主机?
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
百度浏览器如何管理插件 百度浏览器插件管理方法
Android仿QQ列表左滑删除操作
详解jQuery中基本的动画方法
如何在搬瓦工VPS快速搭建网站?
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
bing浏览器学术搜索入口_bing学术文献检索地址
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
Firefox Developer Edition开发者版本入口
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
网站制作大概多少钱一个,做一个平台网站大概多少钱?
java中使用zxing批量生成二维码立牌
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
如何实现建站之星域名转发设置?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
如何在阿里云虚拟服务器快速搭建网站?
图册素材网站设计制作软件,图册的导出方式有几种?
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
怎么用AI帮你设计一套个性化的手机App图标?
如何基于云服务器快速搭建网站及云盘系统?
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
如何快速上传自定义模板至建站之星?
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
Bootstrap整体框架之CSS12栅格系统
如何用搬瓦工VPS快速搭建个人网站?
如何在新浪SAE免费搭建个人博客?
Python正则表达式进阶教程_复杂匹配与分组替换解析
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
如何为不同团队 ID 动态生成多个独立按钮
Laravel如何创建自定义Artisan命令?(代码示例)
Swift中循环语句中的转移语句 break 和 continue

