用户与权限
→ 返回 Windows
Windows 本地用户、组管理、NTFS 权限(ACL)、UAC 及特权控制。
用户管理
net user
net user :: 列出所有本地用户
net user username :: 查看用户详情
net user username password / add :: 新建用户
net user username password :: 修改密码
net user username /active:no :: 禁用账户
net user username /active:yes :: 启用账户
net user username /delete :: 删除用户
net user username / expires :never :: 密码永不过期
PowerShell
Get-LocalUser # 列出所有本地用户
Get-LocalUser - Name "Alice" # 查看指定用户
New-LocalUser - Name "Alice" `
- Password ( ConvertTo-SecureString "P@ss123" - AsPlainText - Force) `
- FullName "Alice Smith" - Description "开发账户"
Set-LocalUser - Name "Alice" - Password ( ConvertTo-SecureString "NewP@ss" - AsPlainText - Force)
Disable-LocalUser - Name "Alice"
Enable-LocalUser - Name "Alice"
Remove-LocalUser - Name "Alice"
组管理
net localgroup
net localgroup :: 列出所有本地组
net localgroup "Administrators" :: 查看组成员
net localgroup "Administrators" Alice / add :: 将用户加入组
net localgroup "Administrators" Alice /delete :: 从组移除
net localgroup Developers / add :: 创建新组
net localgroup Developers /delete :: 删除组
PowerShell
Get-LocalGroup
Get-LocalGroupMember - Group "Administrators"
Add-LocalGroupMember - Group "Administrators" - Member "Alice"
Remove-LocalGroupMember - Group "Administrators" - Member "Alice"
New-LocalGroup - Name "Developers" - Description "开发团队"
Remove-LocalGroup - Name "Developers"
内置账户与组
账户/组 说明 Administrator内置管理员(默认禁用) Guest来宾账户(默认禁用) SYSTEM操作系统级别账户,权限最高 NetworkService网络服务账户,低权限 LocalService本地服务账户,低权限 Administrators管理员组,成员拥有完全控制权 Users标准用户组
NTFS 权限(ACL)
权限类型
权限 说明 完全控制 读、写、执行、修改权限、取得所有权 修改 读、写、执行、删除(不含修改权限) 读取和执行 查看内容、运行文件 列出文件夹内容 仅目录:列出子项 读取 查看文件内容和属性 写入 创建文件/子目录、修改内容
icacls
icacls C:\folder :: 查看权限
icacls C:\folder /grant Alice:(OI)(CI)F :: 授予完全控制(含子项)
icacls C:\folder /grant Alice:M :: 授予修改权限
icacls C:\folder /grant Alice:R :: 授予读取权限
icacls C:\folder /deny Alice:(OI)(CI)W :: 拒绝写入
icacls C:\folder / remove Alice :: 移除权限条目
icacls C:\folder /inheritance:d :: 禁用继承(保留现有)
icacls C:\folder /inheritance:r :: 禁用继承(删除继承条目)
icacls C:\folder /reset /t :: 递归重置为继承权限
icacls C:\folder /save perms.txt /t :: 导出权限
icacls C:\ /restore perms.txt :: 恢复权限
:: 继承标志:(OI) = 文件继承 (CI) = 子目录继承 (IO) = 仅继承不应用于当前对象
PowerShell ACL
# 查看
Get-Acl C:\folder | Format-List
# 授予权限
$acl = Get-Acl "C:\folder"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule(
"Alice" , "FullControl" ,
"ContainerInherit,ObjectInherit" , "None" , "Allow"
)
$acl.SetAccessRule($rule)
Set-Acl "C:\folder" $acl
# 删除权限条目
$acl = Get-Acl "C:\folder"
$acl.Access |
Where-Object { $_ .IdentityReference -eq "BUILTIN\Users" } |
ForEach-Object { $acl.RemoveAccessRule( $_ ) }
Set-Acl "C:\folder" $acl
# 修改所有者
$acl = Get-Acl "C:\folder"
$acl.SetOwner([ System.Security.Principal.NTAccount ] "Administrators" )
Set-Acl "C:\folder" $acl
UAC(用户账户控制)
runas /user:Administrator cmd.exe :: 以管理员身份运行
runas /user:DOMAIN\admin notepad.exe
# 检查当前是否为管理员
([ Security.Principal.WindowsPrincipal ]
[ Security.Principal.WindowsIdentity ]::GetCurrent()
).IsInRole([ Security.Principal.WindowsBuiltInRole ]::Administrator)
# 以管理员身份重启 PowerShell
Start-Process powershell - Verb RunAs
UAC 级别注册表位置:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
ConsentPromptBehaviorAdmin 值行为 0不提示直接提升(关闭 UAC) 2同意提示(默认) 5非 Windows 二进制文件提示(最高)
查看当前权限
whoami :: 当前用户名
whoami /priv :: 当前会话特权列表
whoami /groups :: 所属组
whoami /all :: 完整信息
常见特权
特权 说明 SeDebugPrivilege调试其他进程 SeBackupPrivilege绕过文件权限读取 SeRestorePrivilege绕过文件权限写入 SeTakeOwnershipPrivilege取得文件所有权 SeShutdownPrivilege关机权限
取得文件所有权
takeown /f C:\lockedfile /r /d y
icacls C:\lockedfile /grant administrators:F /t
相关文档