使用命令行 Windows 修改文件权限
修改文件访问权限的命令行工具是 icacls,其使用语法是这样的:
icacls <file> # 查看文件的访问权限
icacls <file> /grant <SID>:<permission> # 为用户显式授予权限
icacls <file> /deny <SID>:<permission> # 为用户显式拒绝权限
icacls <file> /remove <SID> # 删除用户的权限
icacls <file> /setowner <SID> # 设置文件所属者
其中,<file> 是你要修改权限的文件,<SID> 是你要添加的用户名或用户 ID,<permission> 是你要为用户赋予的权限。
可以赋予的权限有:
F- 完全访问M- 修改访问权限RX- 读取和执行访问权限R- 只读访问W- 只写访问
关于命令的更多用法可以查阅 icacls | Microsoft Learn,或者使用命令 icacls /? 查看帮助。
向文件添加管理员组和系统组的完全访问权限
icacls <file> /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"
/inheritance:r: 禁用继承
将
<file>替换为你的文件名
向文件添加其他用户(组)的完全访问权限
如果不是为 Administrators、Administrator、SYSTEM、everyone 这种系统自带用户添加权限,建议使用用户的 SID 而不是用户名来添加权限。不然你可能会遇到这种 bug,添加的用户名变成一串 SID:

首先查询该用户的 SID:
$ Get-LocalUser | Select-Object Name, SID
Name SID
---- ---
Administrator S-1-5-21-479362186-2444553748-1039381088-500
DefaultAccount S-1-5-21-479362186-2444553748-1039381088-503
Guest S-1-5-21-479362186-2444553748-1039381088-501
WDAGUtilityAccount S-1-5-21-479362186-2444553748-1039381088-504
MyUser S-1-5-21-479362186-2444553748-1039381088-1001
或者查找用户组的 SID:
$ Get-LocalGroup | Select-Object Name, SID
Name SID
---- ---
docker-users S-1-5-21-479362186-2444553748-1039381088-1010
__vmware__ S-1-5-21-479362186-2444553748-1039381088-1013
Access Control Assistance Operators S-1-5-32-579
Administrators S-1-5-32-544
Backup Operators S-1-5-32-551
Cryptographic Operators S-1-5-32-569
Device Owners S-1-5-32-583
Distributed COM Users S-1-5-32-562
Event Log Readers S-1-5-32-573
Guests S-1-5-32-546
Hyper-V Administrators S-1-5-32-578
IIS_IUSRS S-1-5-32-568
Network Configuration Operators S-1-5-32-556
Performance Log Users S-1-5-32-559
Performance Monitor Users S-1-5-32-558
Power Users S-1-5-32-547
Remote Desktop Users S-1-5-32-555
Remote Management Users S-1-5-32-580
Replicator S-1-5-32-552
System Managed Accounts Group S-1-5-32-581
Users S-1-5-32-545
找到你的用户(组)对应的 SID,拷贝下来,然后运行命令:
icacls <file> /inheritance:r /grant "*S-1-5-21-479362186-2444553748-1039381088-1001:F"
注意 SID 前面要有一个
*号。
使用命令行 Windows 修改文件权限的更多相关文章
- Linux命令行–理解Linux文件权限(转)
6.1.1 /etc/passwd文件 /etc/passwd:包含系统用户账户列表以及每个用户的基本配置信息 每个条目有七个字段,每个字段用冒号隔开 登录用户名 用户密码 用户账户的UID 用户账户 ...
- ResHacker 用命令行方式修改 windows PE文件版本号
由于工作需要在詹金斯(genkins)集成环境打包,打包避免不了需要修改版本号,写入版本号最简单的方式通过修改windows rc文件 这就意味着,每次构建新版本前需要修改一次源文件 这个在用詹金斯集 ...
- Linux命令:修改文件权限命令chmod、chgrp、chown详解
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权 限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而 ...
- 在windows下使用cmd命令行对java文件进行编译和执行
windows下利用cmd命令行可以调用jdk里的javac.exe和java.exe对java文件进行编译和执行,前提是jdk已成功安装并正确配置相关环境变量 相关配置链接:java基础学习总结—— ...
- Python通过调用windows命令行处理sam文件
Python通过调用windows命令行处理sam文件 以samtools软件为例 一.下载或者索取得到windows版本的samtools软件,解压后如下: 进入文件内部,有如下几个文件: 二.将s ...
- Linux命令(七)Linux用户管理和修改文件权限
1. 用户管理 1.1 创建用户/设置密码/删除用户 (-m很重要,自动添加用户家目录) 创建用户组dev, 给用户组dev新建xiaoqin用户,给新用户设置密码! 1.2 查看用户信息 1.3 设 ...
- 【博学谷学习记录】超强总结,用心分享|Linux修改文件权限方法总结
一.介绍 linux中"一切皆文件".每个文件都设定了针对不同用户的访问权限. 文件权限主要针对以下三种对象: 属主:拥有者 属组:所属的组 其他人:不属于上述两类 二.文件权限 ...
- mac linux rename命令行批量修改文件名
我的mac使用命令行批量修改名字时发现居然没有rename的指令: zsh: command not found: rename 所以使用HomeBrew先安装一下: ➜ ~ brew install ...
- Mac 在命令行中获得Root权限
Mac 在命令行中获得Root权限 作者 firedragonpzy 13 九月, 2012 2条评论 本文为firedragonpzy原创,转载务必在明显处注明:转载自[Softeware MyZo ...
- ubuntu修改文件权限记录
查看文件权限的命令: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表 ...
随机推荐
- 嵌入式必看!全志T113-i+玄铁HiFi4核心板硬件说明资料分享
目 录 1 硬件资源 2 引脚说明(篇幅问题,暂不提供详细内容) 3 电气特性 4 机械尺寸 5 底板设计注意事项 硬件资源 SOM-TLT113核心板板载CPU.ROM.RAM.晶振.电源.LED等 ...
- VulnHub - breach系列:breach-2.1
VulnHub - breach系列:breach-2.1 靶机描述 Breach 2.0 是多部分系列中的第二部分,是一项 boot2root/CTF 挑战,旨在展示真实场景,沿途充满了曲折和恶作剧 ...
- Nuxt框架中内置组件详解及使用指南(三)
title: Nuxt框架中内置组件详解及使用指南(三) date: 2024/7/8 updated: 2024/7/8 author: cmdragon excerpt: 摘要:"Nux ...
- Eggjs 设置跨域请求 指定地址跨域 nodejs
首先egg自身框架没有直接设置允许跨域请求的功能和接口,所以需要第三方包来设置跨域请求! 先安装第三方包来设置跨域,使用egg-cors // npm npm i egg-cors --save // ...
- Nuxt框架中内置组件详解及使用指南(五)
title: Nuxt框架中内置组件详解及使用指南(五) date: 2024/7/10 updated: 2024/7/10 author: cmdragon excerpt: 摘要:本文详细介绍了 ...
- C# Win10缩放导致Winform字体模糊的解决方法
问题描述 现在的笔记本电脑分辨率很高,基本上能达到1920*1080以上,因为笔记本的屏幕小,在这样的分辨率下一切看着都很小,尤其是文字,根本看不清,所以Win10很人性化的提供了屏幕缩放功能,一般默 ...
- TIER 1: Responder
TIER 1: Responder Active Directory Active Directory(AD)是由微软开发的目录服务,用于在网络环境中管理和组织用户.计算机.应用程序和其他资源.它是 ...
- Windows系统解决VSCode终端无法输入问题
最近重装了电脑系统(将原来的Win7装成Win10),重新安装了VSCode和git,也在VSCode里配置了git环境,但是在VSCode中的终端总是不显示.现记录下解决办法: 解决方法: 1.右键 ...
- java面试一日一题:mysql执行delete数据真的被删除了吗
问题:请讲下mysql执行了delete操作,数据真的被删除了吗 分析:这个问题考察对mysql底层存储的理解. 回答要点: 主要从以下几点去考虑, 1.肯定没有真正删除? 2.为什么这样设计? my ...
- FP分数规划在无线通信中的应用
更多精彩内容请关注微信公众号 '优化与算法' 前言 在数学优化中,分数规划是线性分式规划的推广.分数规划中的目标函数是两个函数的比值,这两个函数通常是非线性的.要优化的比值通常描述系统的某种效率. 1 ...