V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
brucmao
V2EX  ›  Windows

win11 重装后,权限问题

  •  
  •   brucmao · 2023-01-01 12:53:29 +08:00 · 2648 次点击
    这是一个创建于 480 天前的主题,其中的信息可能已经有所发展或是发生改变。

    重装后发现 打开 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 ),于是我修改整个文件夹所有者为当前登录用户,并勾选替换子容器和对象的所有者 应用之后还是提示没有权限访问。

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

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

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

    然后将文件夹 tmp 再改名为 sublime_text
    dingwen07
        5
    dingwen07  
       2023-01-01 16:42:32 +08:00 via iPhone   ❤️ 6
    直接在管理员 PowerShell 里
    Get-Acl C:\Users\username | Set-Acl C:\Apps
    ysc3839
        6
    ysc3839  
       2023-01-01 19:09:59 +08:00 via Android   ❤️ 1
    “替换子容器和对象的所有者”这是把权限替换成继承的权限了,你看图里的权限全都是继承自根目录,而根目录默认权限是不允许非管理员用户写入的,正确的做法是在 Apps 这个文件夹的权限里把你的用户设为可写。
    不过即使按照图中的权限,依然是可以读取文件的,应该不至于不能正常运行。
    PRStarDust
        7
    PRStarDust  
       2023-01-01 22:56:47 +08:00
    @dingwen07 感谢,这串命令解决了我重装系统之后在原来的 D 盘软件文件夹下安装软件需要管理员权限的问题
    PrinceofInj
        8
    PrinceofInj  
       2023-01-02 12:07:19 +08:00
    everyone 一把梭
    resu
        9
    resu  
       2023-01-03 14:18:18 +08:00
    不用 powershell 也行,参考 Cacls 或 Icacls 命令。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5414 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:46 · PVG 13:46 · LAX 22:46 · JFK 01:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.