使用命令行 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位数 其中: 最前面那个 - 代表 ...
随机推荐
- 全国产T3+FPGA的SPI与I2C通信方案分享
近年来,随着中国新基建.中国制造2025规划的持续推进,单ARM处理器越来越难胜任工业现场的功能要求,特别是如今能源电力.工业控制.智慧医疗等行业,往往更需要ARM + FPGA架构的处理器平台来实现 ...
- IOS浏览器返回刷新页面
$(function () { var isPageHide = false; window.addEventListener('pageshow', function () { if (isPage ...
- aop的两种配置方法
一.实现接口并重写方法 实现org.aopalliance.intercept.MethodInterceptor接口,这是AOP Alliance规范中的接口,Spring AOP支持它.这种方式比 ...
- yb课堂 搭建node环境和npm安装 《二十六》
搭建node环境和npm安装 什么是NodeJS? Node.js就是运行在服务端得JavaScript 什么是npm? nodejs的包管理工具,可以下载使用公共仓库的包,类似maven包安装分为本 ...
- SqlParameter,参数化查询问题
SqlParameter p = new SqlParameter("@pageIndex", (object)pageIndex); SqlParameter带有两个参数的构造函 ...
- Java-Cookie客户端会话技术
会话技术 会话:一次对话中包含多次请求和响应 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 功能:在一次会话的范围内的多次请求间,共享数据 方式: 客户端会话技术:Cook ...
- LeViT:Facebook提出推理优化的混合ViT主干网络 | ICCV 2021
论文提出了用于快速图像分类推理的混合神经网络LeVIT,在不同的硬件平台上进行不同的效率衡量标准的测试.总体而言,LeViT在速度/准确性权衡方面明显优于现有的卷积神经网络和ViT,比如在80%的Im ...
- Django配置为连接到Microsoft SQL Server
可以将Django配置为连接到Microsoft SQL Server 2019.为此,你需要更改数据库设置中的一些配置选项.首先,确保你已经安装了 django 和 pyodbc 这两个库: p ...
- oeasy教您玩转vim - 2 - # 使用帮助
回忆上节课内容 更新和运行 vim 进入和退出 vim 存活了下来 从中我们知道 vim 有两种模式:正常模式(Normal mode)和命令行模式 (Command-Line mode) 为了您能更 ...
- mybatisplus轻松完成一次模糊+分页查询
之前一直用mybatis+pageinfo完成模糊+分页查询,还需要手写sql语句,之前一直没做尝试,今天试了试mybatisplus一个人完成模糊+分页,挺简单的 有一个小插曲是,我的前端接受的da ...