### 怎么建立隐藏用户 ### **1. Windows 系统** 在 Windows 中,隐藏用户通常有两种实现方式 **1.1 使用 `$` 符号创建隐藏账户** 这是最简单也是最常见的方法,主要用于在命令行中隐藏用户 - **原理**: Windows 系统的设计中,以 `$` 结尾的账户名被视为“计算机账户”,通常用于系统或服务之间通信。这些账户默认在 `net user` 命令的列表中不显示 - **操作步骤**: 1. 使用管理员权限打开命令提示符(`cmd`)或 PowerShell 2. 执行以下命令创建账户: ```cmd net user username$ password /add ``` 3. 将该账户添加到管理员组,赋予其更高权限: ```cmd net localgroup Administrators username$ /add ``` - **如何查看**: 虽然 `net user` 看不到,但这个账户仍然存在于系统中。你可以通过以下方式查看: - `wmic useraccount where "name like '%'" get name,sid` - 通过注册表编辑器查看 `HKEY_LOCAL_MACHINE\SAM\SAM`(需要特殊权限) **1.2 通过修改注册表隐藏账户** 这是一个更高级、更隐蔽的方法,可以让账户不出现在登录界面和常规用户列表中 - **原理**: Windows 通过注册表的一个特定键值来控制哪些用户账户在登录界面显示。通过修改这个键值,可以隐藏任何账户 - **操作步骤**: 1. 首先创建一个普通用户账户并赋予权限: ``` net user testuser password /add net localgroup Administrators testuser /add ``` 2. 打开注册表编辑器(`regedit`),定位到以下路径: ``` HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList ``` 3. 在 `UserList` 键下,右键单击并选择**新建 -> DWORD (32位) 值** 4. 将新建的值命名为你要隐藏的账户名,例如 `testuser` 5. 默认情况下,这个 DWORD 值为 `0`,这正好可以隐藏该账户 - **如何查看**: 这个账户在登录界面和常规用户列表中都看不见。只有通过命令行、`wmic` 或直接在注册表中查看才能发现其存在 **2. Linux 系统** 在 Linux 中,隐藏用户的方式主要依赖于其账户管理机制 **2.1 创建一个 UID 小于 1000 的账户** - **原理**: 许多 Linux 系统管理工具(如 `useradd` 的默认行为、`passwd` 文件浏览器)都约定俗成地只显示 UID 大于或等于 1000 的账户,将 UID 小于 1000 的账户视为系统服务账户 - **操作步骤**: 1. 使用 `useradd` 命令创建账户时,指定一个低于 1000 的 UID: ```bash useradd -u 999 -s /bin/bash -m testuser passwd testuser ``` 2. 赋予其管理员权限: ```bash usermod -aG sudo testuser ``` - **如何查看**: 这个账户可以通过 `cat /etc/passwd` 看到,但许多工具不会在用户列表中显示它