win11 重装后,权限问题

2023-01-01 12:53:29 +08:00
 brucmao

重装后发现 打开 sublimetext 主题无法加载,看了日志是是权限问题,右键管理员运行就能正常加载主题

Error loading C:\Apps\sublime_text\Data\Installed Packages\Pretty JSON.sublime-package: [Errno 13] Permission denied: 'C:\\Apps\\sublime_text\\Data\\Installed Packages\\Pretty JSON.sublime-package'
Error loading C:\Apps\sublime_text\Data\Installed Packages\Terminus.sublime-package: [Errno 13] Permission denied: 'C:\\Apps\\sublime_text\\Data\\Installed Packages\\Terminus.sublime-package'
Error loading C:\Apps\sublime_text\Data\Installed Packages\Theme - Monokai Pro.sublime-package: [Errno 13] Permission denied: 'C:\\Apps\\sublime_text\\Data\\Installed Packages\\Theme - Monokai Pro.sublime-package'
Error loading C:\Apps\sublime_text\Data\Installed Packages\nginx.sublime-package: [Errno 13] Permission denied: 'C:\\Apps\\sublime_text\\Data\\Installed Packages\\nginx.sublime-package'
Error loading C:\Apps\sublime_text\Data\Installed Packages\python-black.sublime-package: [Errno 13] Permission denied: 'C:\\Apps\\sublime_text\\Data\\Installed Packages\\python-black.sublime-package'

查看 sublimetext 整个文件夹权限,文件夹拥有者是 S-1-5-21... 这样的一串数字(这应该对应着重装之前的用户 GUID ),于是我修改整个文件夹所有者为当前登录用户,并勾选替换子容器和对象的所有者 应用之后还是提示没有权限访问。

2858 次点击
所在节点    Windows
9 条回复
Tumblr
2023-01-01 13:52:25 +08:00
这一串不叫 GUID ,叫 SID ( Security Identifier ),最简单的处理方法是用 robocopy 把这个目录内所有文件及子目录拷出来,拷的时候不要带权限,只拷 DAT 就好了。
对于不经常玩的来说,Windows 下的 NTFS 权限是个挺麻烦的事情,很多公司的共享文件服务器管理员也经常为权限问题而薅掉半边头发。

如果一定要在原来的目录上折腾,可以把 owner 设置为 Administrators ,然后把权限打断继承后重新继承一遍,这个可能需要 bypass UAC 。
brucmao
2023-01-01 14:01:02 +08:00
@Tumblr 其他盘都得改,用 robocopy 都拷贝一遍挺费时间的。
Lightbright
2023-01-01 14:58:39 +08:00
楼主尽量别搞出只有某个用户能访问的文件,尽量赋权限给共有的用户组,这样不容易遇到奇怪的权限问题
brucmao
2023-01-01 16:06:35 +08:00
最终在管理员命令行中使用 robocopy

robocopy sublime_text\ tmp /move /mir /copy:dat /mt:1

然后将文件夹 tmp 再改名为 sublime_text
dingwen07
2023-01-01 16:42:32 +08:00
直接在管理员 PowerShell 里
Get-Acl C:\Users\username | Set-Acl C:\Apps
ysc3839
2023-01-01 19:09:59 +08:00
“替换子容器和对象的所有者”这是把权限替换成继承的权限了,你看图里的权限全都是继承自根目录,而根目录默认权限是不允许非管理员用户写入的,正确的做法是在 Apps 这个文件夹的权限里把你的用户设为可写。
不过即使按照图中的权限,依然是可以读取文件的,应该不至于不能正常运行。
PRStarDust
2023-01-01 22:56:47 +08:00
@dingwen07 感谢,这串命令解决了我重装系统之后在原来的 D 盘软件文件夹下安装软件需要管理员权限的问题
PrinceofInj
2023-01-02 12:07:19 +08:00
everyone 一把梭
resu
2023-01-03 14:18:18 +08:00
不用 powershell 也行,参考 Cacls 或 Icacls 命令。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/905911

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX