在 Linux 系统中锁定用户账户可以通过多种方法实现,以下是常用的几种方式及其详细说明:
passwd 命令锁定密码(推荐)sudo passwd -l 用户名
bash
sudo passwd -u 用户名usermod 命令锁定账户sudo usermod --expiredate 1 用户名
1970-01-01,立即失效。bash
sudo usermod --expiredate "" 用户名/etc/shadow 文件(手动)在 /etc/shadow 中找到相应用户行,在密码字段前添加 ! 或 !!:
sudo vipw -s # 安全编辑 shadow 文件
username:$6$...:19475:0:99999:7:::username:!$6$...:19475:0:99999:7:::! 或 !!。chage 命令设置账户过期sudo chage -E0 用户名
1970-01-01(等同于锁定)。bash
sudo chage -E -1 用户名 # 清除过期时间sudo usermod -s /usr/sbin/nologin 用户名
This account is currently not available。bash
sudo usermod -s /bin/bash 用户名如果需要彻底禁止用户访问,可以同时:
1. 锁定密码:sudo passwd -l 用户名
2. 禁用 Shell:sudo usermod -s /usr/sbin/nologin 用户名
3. 禁止 SSH 登录(如有需要):
bash
echo "DenyUsers 用户名" | sudo tee -a /etc/ssh/sshd_config
sudo systemctl restart sshd
sudo passwd -S 用户名
username L 2023-01-01 0 99999 7 -1(L 表示锁定)sudo 或 SSH 配置实现。bash
ps -u 用户名
killall -u 用户名 # 谨慎操作根据需求选择合适的方法,通常 passwd -l 或 usermod -s /usr/sbin/nologin 已能满足多数场景。