挂载 cifs 网络驱动器:写入权限和 chown

挂载 cifs 网络驱动器:写入权限和 chown

我可以访问 cifs 网络驱动器。当我将它安装在我的 OSX 机器下时,我可以对其进行读写。

当我在 ubuntu 中安装驱动器时,使用:

sudo mount -t cifs -o username=${USER},password=${PASSWORD} //server-address/folder /mount/path/on/ubuntu

我无法写入网络驱动器,但可以从中读取。我已经检查了安装文件夹的权限和所有者,它们看起来像:

4.0K drwxr-xr-x  4 root root    0 Nov 12  2010 Mounted_folder

我无法更改所有者,因为我收到错误:

chown: changing ownership of `/Volumes/Mounted_folder': Not a directory

当我深入网络驱动器并更改那里的所有权时,我收到错误消息,指出我无权更改文件夹的所有者。

我应该怎么做才能激活我的写权限?

答案1

您正在以 root 身份挂载 CIFS 共享(因为您使用了sudo),因此您无法以普通用户身份进行写入。如果您的 Linux 发行版及其内核足够新,您可以作为普通用户安装网络共享(但在用户拥有的文件夹下),您将拥有写入文件的正确凭据(例如,将共享文件夹安装在您的计算机下的某个位置)。主目录,例如 显然$HOME/netshare/,您需要在安装之前创建该文件夹)。

另一种方法是指定已安装的网络共享应使用的用户和组 ID,这将允许特定用户和潜在的组写入共享。添加以下内容您的坐骑选项:并将和分别uid=<user>,gid=<group>替换为您自己的用户和默认组,您可以使用命令自动找到它们。<user><group>id

sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g) //server-address/folder /mount/path/on/ubuntu

如果服务器正在发送所有权信息,您可能需要添加forceuidforcegid选项。

sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g),forceuid,forcegid, //server-address/folder /mount/path/on/ubuntu

答案2

我成功测试了以下命令:

sudo mount -t cifs -o username=[username],password=[password],uid=1001,gid=1001 //172.16.148.2/dfsgob01 /home/ususario/Documentos/benz-win

答案3

解决此问题的一种方法(如果您可以接受安全风险)是使用 CIFSnoperm允许的选项全部用户可以读取和写入 CIFS 挂载。

我还没有测试过这个命令,但我相信这会起作用:

sudo mount \
  -t cifs \
  -o noperm \
  //server-address/folder \
  /mount/path/on/ubuntu

(您也可以通过文件添加此选项fstab

相关内容