我在一台 Linux 机器上尝试通过我的 Active Directory 用户名在大型网络内挂载 SMB 共享:
mount -t cifs -o username=myuser,domain=mydomain //server/share /mount/path
输入密码 + 成功挂载后,我尝试touch /mount/path/test.txt
,但得到了没有权限。这么多搜索结果(这个是赞成票最多的人)建议,因为使用sudo mount
写入权限只授予 root 而不是普通用户。但就我而言,我是root 因为我sudo -i
首先使用,所以一切都发生在 root 控制台上。/mount/path
属于 root 及其下面的所有内容(已安装驱动器的内容)。我已经尝试解决这个问题 2 个小时了,但我被困住了。有人知道为什么我甚至不能以 root 身份写入驱动器吗?
答案1
CIFS 共享将使用您的命令以 root 身份挂载,因此普通用户无法在那里写入任何内容。您需要指定要为其分配读/写权限的用户和组 ID。您可以尝试使用以下命令。
sudo mount -t cifs -o username=myuser,password=yourpassword,domain=mydomain,uid=yourUID,gid=yourGID,forceuid,forcegid //server/share /mount/path
您也可以使用 id 命令自动获取 uid 和 gid,如下所示。
sudo mount -t cifs -o username=myuser,password=yourpassword,domain=mydomain,uid=$(id -u),gid=$(id -g),forceuid,forcegid //server/share /mount/path