![安装 Windows 共享对于一个用户来说是只读的,而对于另一个用户来说是可写的!](https://linux22.com/image/1187683/%E5%AE%89%E8%A3%85%20Windows%20%E5%85%B1%E4%BA%AB%E5%AF%B9%E4%BA%8E%E4%B8%80%E4%B8%AA%E7%94%A8%E6%88%B7%E6%9D%A5%E8%AF%B4%E6%98%AF%E5%8F%AA%E8%AF%BB%E7%9A%84%EF%BC%8C%E8%80%8C%E5%AF%B9%E4%BA%8E%E5%8F%A6%E4%B8%80%E4%B8%AA%E7%94%A8%E6%88%B7%E6%9D%A5%E8%AF%B4%E6%98%AF%E5%8F%AF%E5%86%99%E7%9A%84%EF%BC%81.png)
我在 Windows 10 中共享了一个文件夹,并通过 fstab 在 Ubuntu 22.04 中安装了该共享,设置如下:
//192.168.xxx.xx/b/MySharedFolder /media/Share cifs vers=3.0,defaults,rw,credentials=/root/.pass
显然,/root/.pass 中的文件包含 Windows 共享的凭据。奇怪的是,对于用户[电子邮件保护]在该文件中,我可以从 Ubuntu 内部对挂载位置具有写访问权限。对于另一个用户(我将称之为 SomeUser),挂载位置是只读的!这两个用户在 Windows 中都具有完全权限,尽管[电子邮件保护]是 Windows 管理员。我确实将 SomeUser 的帐户更改为管理员,但这并没有改变任何事情。
或者,这具有写访问权限:
sudo mount -t cifs -o [email protected],password=somepassword //192.168.xxx.xx/b/MySharedFolder /media/Share
但事实并非如此:
sudo mount -t cifs -o username=SomeUser,password=somepassword //192.168.xxx.xx/b/MySharedFolder /media/Share
如果有人能指出我的问题的原因我将不胜感激。
提前致谢。
答案1
您的描述令人好奇的是,除了 root 之外,没有人应该对已挂载共享具有写访问权限,因为您没有提供对默认值的覆盖。
如果您希望客户端计算机上的任何用户都对已挂载的共享具有写访问权限,则最好这样做:
//192.168.xxx.xx/b/MySharedFolder /media/Share cifs vers=3.0,defaults,rw,credentials=/root/.pass,dir_mode=0777,file_mode=0666,nounix
答案2
我设法取得了一些成功。JohnDoe//192.168.xxx.xx/b/MySharedFolder
在 Windows 中被授予了写入权限,但使用他的凭据的 Linux 安装却是只读的。
为了启用写入功能,我回到 Windows,在根目录下将 JohnDoe 添加为共享用户,即//192.168.xxx.xx/b/
在位置中//192.168.xxx.xx/b/MySharedFolder
,我启用了继承。
这并不理想,因为 JohnDoe 具有所有子文件夹的读取权限,//192.168.xxx.xx/b/
但我想我可以解决这个问题。
答案3
如果上述命令在 root 下运行良好,则尝试添加此命令
-o [email protected],password=somepassword,vers=3.0,defaults,rw,dir_mode=0777,file_mode=0666,nounix
如果它在 root 下不起作用,则检查 Windows 10x 中的共享权限。