Windows系统中修改文件权限

我在windows系统中安装了cygwin软件,在C盘下生成了cygwin64文件夹。由于该文件夹的拥有者和权限问题,导致用Administrator无法删除该文件夹。此时,需要修改文件夹的拥有者和权限后,才能删除cygwin64文件夹。

1. 使用windows窗口界面修改权限

首先,修改拥有者权限:登录到Administrator用户,右击要删除的文件或文件夹——属性——安全——高级——更改(蓝色字体)——点击输入框”输入要选择的对象名称”——输入用户名”Administrator”——确定——确定。

只有修改了拥有者权限后,才能对新增加的拥有者设置读写权限:右击要删除的文件或文件夹——属性——安全——高级——添加——选择主题(蓝色字体)——点击输入框”输入要选择的对象名称”——输入用户名”Administrator”——确定——勾选完全控制——确定——确定——确定。

进行以上两步操作后,则可以删除目标文件夹下的所有文件。但是不能删除目标文件夹下的子文件夹。这点非常坑。由于cygwin64文件夹下有很多层目录,可能要对数千个文件夹进行上述操作,才能删除所有文件和文件夹,通过windows窗口界面基本不可能实现了。

2. 通过命令行修改权限

windows系统中按windows+x键,点击Windows PowerShell打开终端,进行文件或文件夹的权限操作。

2.1 删除文件的用户名或组。

在Windows系统中,用户名和组不能具有相同的名称。一个文件或文件夹可能属于很多不同的用户名或组。当文件所属的用户名和组过多时,容易冲突。为了系统稳定,推荐删除不认识的用户名或组,让文件仅属于当前用户名或Administrators。Windows系统安装后默认带有用户Administrator和用户组Administrators。

使用icacls.exe命令后接文件或文件夹路径,查看文件的拥有者信息。

icacls.exe C:\Users\chenlianfu\Documents\

使用icacls.exe命令的/remove参数删除不需要的文件拥有者用户名或组。

icacls.exe C:\Users\chenlianfu\Documents\ /remove "CREATOR GROUP" /T
    /remove  删除用户名或组,若用户名或组名称有空格,使用引号。
    /T       递归,将权限赋予子目录及其文件。

2.2 给文件添加用户名或组

使用takeown.exe命令给文件添加用户或用户组

takeown.exe /F C:\cygwin64\ /A /R /D Y
    /F <strint>  参数后接一个路径,用于对指定文件或文件夹进行拥有者权限设置。
    /A  将所有权给予管理员组,即Administrators。若不加该参数,则将权限给当前用户。
    /R  递归,将拥有者权限设置赋予子目录及其文件。
    /D <strint>  设置其值为Y后,表示使用/R进行递归时所有问询值都为Yes。 

2.3 给用户授予读写全写

使用icacls.exe命令授予权限。

icacls.exe C:\cygwin64\ /grant Administrator:F /T
    /grant <string>  授予指定用户相应的权限。其值格式为“用户ID:权限符号”,其中F表示所有权限。
    /T  递归,将权限赋予子目录及其文件。

3. 我的操作

我对我的数据文件夹进行了操作。首先,查看文件夹的权限信息,删除所有的用户和用户组。

icacls.exe .\ChenLianfu_Data\

icacls.exe .\ChenLianfu_Data\ /remove "DESKTOP\chenlianfu" /T
icacls.exe .\ChenLianfu_Data\ /remove "BUILTIN\Users" /T
icacls.exe .\ChenLianfu_Data\ /remove "BUILTIN\Administrators" /T
icacls.exe .\ChenLianfu_Data\ /remove "CREATOR OWNER" /T
icacls.exe .\ChenLianfu_Data\ /remove "CREATOR GROUP" /T
icacls.exe .\ChenLianfu_Data\ /remove "NULL SID" /T
icacls.exe .\ChenLianfu_Data\ /remove "NT AUTHORITY\SYSTEM" /T
icacls.exe .\ChenLianfu_Data\ /remove "NT AUTHORITY\Authenticated Users" /T

然后,给文件拥有者权限添加用户chenlianfu和用户组Administrators。

takeown.exe /F .\ChenLianfu_Data\ /A /R /D Y
takeown.exe /F .\ChenLianfu_Data\ /R /D Y

最后,授予用户chenlianfu和用户组Administrators所有权限。

icacls.exe .\ChenLianfu_Data\ /grant Administrators:F /T
icacls.exe .\ChenLianfu_Data\ /grant chenlianfu:F /T

icacls.exe .\ChenLianfu_Data\

查看目标文件的权限如下所示:

.\ChenLianfu_Data\ DESKTOP\chenlianfu:(F)
                   BUILTIN\Administrators:(F)

进行以上操作后,则可以正常删除目标文件夹了。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据