从Linux更改Windows安装文件夹的权限

从Linux更改Windows安装文件夹的权限

我使用以下方式将 Windows 共享挂载到 Linux(rhel7)

mount -t cifs -o username=<share user>,password=<share password> //WIN_PC_IP/<share name> /mnt

我成功挂载了它。从 Linux 上,我尝试更改挂载文件夹的权限,但出现了错误。

chmod:更改“/mnt/”的权限:权限被拒绝

chmod -R 777 /mnt

如何更改 Linux 中已挂载文件夹的权限?

是否可以通过 Linux 命令 (chmod) 更改已安装的 Windows 文件夹的权限?

答案1

是否可以通过 Linux 命令 (chmod) 更改已安装的 Windows 文件夹的权限?

不会。CIFS 与 NTFS 非常相似,是一种虚拟文件系统,因此 chmod 不会产生影响。在将任何内容挂载到挂载点之前更改挂载点的权限也不会产生影响,因为挂载后的权限始终会替换挂载前的权限。

如果所需权限为 777,请更改挂载命令以包含这些权限:dir_mode=0777,file_mode=0777。我也会养成添加该nounix选项的习惯,尽管对于 Windows 共享来说它不会有太大作用。

所以尝试一下这个:

mount -t cifs -o username=<share user>,password=<share password>,dir_mode=0777,file_mode=0777,nounix //WIN_PC_IP/<share name> /mnt

并且我同意更好的挂载点是 /mnt 下的某个位置,而不是 /mnt 本身。

答案2

首先,只有 root(默认情况下)可以更改/mnt目录本身的权限,因为它归root:root- 所有,因此尝试修改其权限将以非 root 身份失败。

您可能希望通过在里面创建一个子目录/mnt、更改它的权限、然后在那里挂载,使这个过程更容易。

首先卸载所有已经挂载的东西:

sudo umount /mnt

接下来创建一个子目录,用于挂载共享

sudo mkdir /mnt/share

现在将权限更改为您想要修改的用户所拥有的:

sudo chown foo:foo /mnt/share

其中foo:foo,用户为foo,应该是您的用户名。

最后安装到该/mnt/share位置:

sudo mount -t cifs -o username=xxx,password=xxx //WIN_PC_IP/<share name> /mnt/share

如果您仍然遇到文件/mnt/share不属于正确用户的问题,则您可能需要uid=xxx,gid=xxx在挂载选项中指定。

相关内容