如何设置我的 WSL 帐户以使用“域用户”组(我的 Windows 帐户使用的组)

如何设置我的 WSL 帐户以使用“域用户”组(我的 Windows 帐户使用的组)

通常,当我(在 WSL 中)查看我的 Windows 帐户创建的文件和目录时,它们显示为:

 -rwxrwxrwx+ 1 cfclark Domain Users    2858 Mar 26 16:28 yy_myref.h

但是,如果我在 WSL 中对文件执行操作(使用 Emacs 编辑、使用 git 检出、运行写入这些文件的程序等),权限会更改为:

 -rwxrwx---+ 1 cfclark cfclark         2858 Mar 26 16:28 yy_myref.h

此外,WSL 拒绝读取该文件,就好像它认为它是“其他”的。

我的 .bashrc 文件中已经有“umask 0”。我没有做任何特殊操作来挂载分区,例如,我没有 wsl.config 文件。

为了临时解决这个问题,我让 cygwin shell 保持运行,并在其中运行

find /cygdrive/r/directory-path -exec chown "cfclark:Domain Users" {} \;
find /cygdrive/r/directory-path -exec chmod 777 {} \;

请注意,等效的 find 命令在 WSL 中不起作用。它无法找到进行相关更改的文件。

是的,我知道运行这样一个开放系统的风险。但是,这是我个人的单用户笔记本电脑,我不在乎。但让我的测试运行创建文件,而这些文件在没有中间步骤的情况下无法与我已知的结果进行比较,这太麻烦了。如果权限是 -rw-rw-rw-,我会接受的。

我假设如果我修复了“组”,权限也会修复。但是,仅修复权限(不运行脚本)就足够了。

相关内容