上一篇 下一篇 分享链接 返回 返回顶部

自建脚本:用户管理与删除工具

发布人:灰大王 发布时间:2025-02-14 10:47 阅读量:231

使用前提

  • 操作系统:适用于大多数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

 

 

总结

本脚本为系统管理员提供了一个便捷的工具,用于管理和删除非安全账号的用户。通过自动化的进程终止、账户锁定和用户删除,确保系统的安全性和稳定性。建议定期运行此脚本,检查系统中的非安全用户。


注意:在使用此脚本之前,请确保您了解其功能,并在测试环境中验证其行为,以避免意外删除重要用户或进程。

目录结构
全文