登录
首页 >  文章 >  linux

Linux禁止用户登录与账号锁定技巧

时间:2026-02-25 13:02:37 410浏览 收藏

本文系统介绍了Linux环境下禁止用户登录及账号锁定的五种实用方法,涵盖从快速临时禁用(如passwd命令加锁)、彻底禁用交互式会话(usermod设/sbin/nologin或直接编辑/etc/passwd)、全局维护模式(/etc/nologin文件),到基于PAM的自动化安全防御(pam_tally2.so失败次数锁定),每种方案均明确适用场景、操作步骤与解锁方式,兼顾安全性、灵活性与可逆性,是运维人员应对安全审计、账户管控和系统维护需求的必备实战指南。

Linux怎么禁止用户登录 Linux锁定及解锁用户账号方法【管理】

如果您需要临时或永久禁止某个Linux用户登录系统,则可能是由于安全策略调整、账户审计或运维维护等实际需求。以下是多种可行的锁定及解锁用户账号的方法:

一、使用passwd命令锁定与解锁用户

该方法通过修改/etc/shadow文件中用户的密码字段,添加前缀!或!!来禁用密码认证,操作快捷且可逆性强。它仅影响基于密码的身份验证,不干扰SSH密钥登录等其他认证方式。

1、以root权限执行以下命令锁定指定用户名:passwd -l username

2、验证账户状态是否已锁定:passwd -S username,输出中出现LK标识即表示成功锁定

3、执行以下命令解锁用户:passwd -u username

二、使用usermod命令禁用密码并替换登录shell

该方法提供更彻底的访问控制:既禁用密码认证,又将用户默认shell设为/sbin/nologin或/bin/false,使系统拒绝为其分配交互式会话,即使密码正确也无法获得shell环境。

1、仅禁用密码认证:usermod -L username

2、同时禁用密码并设置非登录shell:usermod -s /sbin/nologin username

3、恢复原始shell并启用密码:usermod -s /bin/bash username,再执行usermod -U username

三、直接编辑/etc/passwd文件修改用户shell

此方法绕过命令行工具,直接修改用户记录中的登录shell字段,适用于无法运行usermod命令的受限环境。修改后立即生效,无需重启服务。

1、使用vi或nano打开用户数据库:vi /etc/passwd

2、定位目标用户行,例如:username:x:1001:1001::/home/username:/bin/bash

3、将末尾的/bin/bash替换为/sbin/nologin,保存退出

4、如需恢复,再次编辑该行,将/sbin/nologin改回原shell路径

四、创建/etc/nologin文件全局禁止普通用户登录

该方法用于系统级维护场景,通过创建特殊文件触发PAM机制,在系统启动或登录阶段拦截所有非root用户的交互式登录请求,常用于紧急维护或升级窗口期。

1、以root身份创建空文件:touch /etc/nologin

2、可选:向该文件写入提示信息,供用户登录时查看:echo "System maintenance in progress." > /etc/nologin

3、解除全局禁止状态:rm -f /etc/nologin

五、配置PAM模块实现失败登录自动锁定

该方法基于PAM框架,通过pam_tally2.so模块对用户连续登录失败次数进行计数,并在达到阈值后自动锁定账户,属于主动防御型策略,适用于高安全要求环境。

1、编辑SSH认证配置:vi /etc/pam.d/sshd

2、在文件开头附近添加两行(顺序不可颠倒):auth [default=bad success=ok user_unknown=ignore] pam_tally2.so deny=3 unlock_time=600

3、添加账户控制行:account [default=good] pam_tally2.so

4、重置某用户失败计数:pam_tally2 --reset --user=username

以上就是《Linux禁止用户登录与账号锁定技巧》的详细内容,更多关于的资料请关注golang学习网公众号!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>