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

linux用户账号锁定与解锁有五种方法:一、passwd命令加!前缀禁用密码;二、usermod禁用密码并设/sbin/nologin;三、直接编辑/etc/passwd改shell;四、创建/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

NoCode

NoCode

美团推出的零代码应用生成平台

下载

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

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享