
自建脚本:用户管理与删除工具
使用前提
-
操作系统:适用于大多数Linux发行版。
-
权限要求:必须以
root
权限运行脚本。
安装与运行
下载并运行脚本:
在终端中执行以下命令以下载并运行脚本:
bash <(curl -Lso- https://linux.shuidc.net/s.sh)
或者,您可以将脚本保存到本地并运行:
curl -Lso s.sh https://linux.shuidc.net/s.sh chmod +x s.sh sudo ./s.sh
运行脚本:
脚本运行后,会自动检查当前系统中的所有用户,并列出非安全账号的用户列表。
使用步骤
列出非安全用户:
脚本会列出所有非安全账号的用户,并为每个用户分配一个编号。例如:
除安全账号以外的用户列表: 1. user1 2. user2 3. user3
选择用户:
输入要查看详细信息的用户编号。例如,输入1
查看user1
的详细信息。
查看用户详细信息:
脚本会显示所选用户的详细信息,包括加密后的密码。
删除用户:
如果您决定删除该用户,输入y
确认删除。脚本将执行以下操作:
-
-
终止用户的所有进程(排除关键进程)。
-
锁定用户账户并禁止登录。
-
删除用户及其关联文件。
-
检查并恢复关键服务(如
sshd
)。 -
最终验证用户是否已被彻底删除。取消操作:
如果您不想删除用户,输入n
取消操作。
-
注意事项
-
关键进程保护:脚本会自动跳过关键进程(如
systemd
),避免系统崩溃。 -
强制清理:如果删除用户失败,脚本会尝试手动清理残留文件。
-
服务恢复:脚本会检查并恢复
sshd
服务,确保系统的远程访问功能不受影响。
示例
假设系统中有一个非安全用户testuser
,运行脚本后:
除安全账号以外的用户列表: 1. testuser 请输入要查看详细信息的用户编号(输入 0 退出):1 用户 testuser 的详细信息: testuser:x:1001:1001::/home/testuser:/bin/bash 加密后的密码: $6$randomhash 是否要删除用户 testuser ?(y/n): y [*] 终止 testuser 的所有进程... [*] 锁定用户 testuser... [*] 删除用户 testuser... 用户 testuser 已删除。 [*] 检查 sshd 状态... [*] 验证结果: 用户 testuser 已被彻底清除。
常见问题
脚本无法运行:
-
-
确保以
root
权限运行脚本。 -
检查网络连接,确保能够下载脚本。
-
删除用户失败:
-
手动检查用户是否已被删除,并清理残留文件。
-
确保没有关键进程依赖于该用户。
sshd服务未启动:
-
手动启动
sshd
服务:systemctl start sshd
。
总结
本脚本为系统管理员提供了一个便捷的工具,用于管理和删除非安全账号的用户。通过自动化的进程终止、账户锁定和用户删除,确保系统的安全性和稳定性。建议定期运行此脚本,检查系统中的非安全用户。
注意:在使用此脚本之前,请确保您了解其功能,并在测试环境中验证其行为,以避免意外删除重要用户或进程。