我可以访问CIF网络驱动器。当我将其安装在OSX机器下时,就可以对其进行读写操作。

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

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


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

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


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

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


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

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

评论

文件系统是否列在/ etc / fstab中?如果是,该条目有哪些选择?

您也可以使用在我对此问题的答案中类似说明的noperm挂载选项:unix.stackexchange.com/a/375523/16287。这将为所有用户提供对CIFS安装的读写访问权限。

#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


评论


它为我工作!但是我们应该补充一点,如果共享文件夹位于具有登录域的PC上,则应该添加选项域。像这样的东西:sudo mount -t cifs -o username = $ {USER},password = $ {PASSWORD},dom = $ {DOMAIN},uid = ,gid = //服务器地址/文件夹/ mount / path / on / ubuntu实际上,域可以进入“用户名”选项,但是请记住,您必须使用/而不是`,例如username = DOMAIN / user.name`。

–JoãoPortela
2014-12-19 9:17



对,那是正确的。 :-)可能需要通过“ domain =“选项或用户名指定域或工作组(对于旧版Windows)。有时甚至需要指定要使用的加密方案或CIFS版本。但是所有这些都不是这个问题的一部分,因此我将其放在一边。 :-)

–惠更斯
2014年12月20日在16:08

这正是我所需要的。我在/ etc / fstab中有一个条目,可以在启动时自动挂载网络驱动器。我无法写到挂载,所以我添加了uid = 作为如下行://192.168.1.7/public / colmustang cifs username = ,password = ,uid = 0 0

–詹姆斯
15年5月22日在1:34



@ 71GA用户名是用于身份验证的远程登录名。 uid是您要小睡所有文件/文件夹的本地用户ID。因此,用户名与uid分离,用户名是远程用户登录名,而uid是您的本地用户ID。请注意,如果您的服务器是Samba,并且在客户端和服务器上都使用LDAP或其他集中式帐户,则可能是同一件事:-)。

–惠更斯
16年1月12日在12:51

@Tak好问题。查看编辑后的答案。

–吉尔斯'所以-不再是邪恶的'
18年7月23日在16:18

#2 楼

我已成功测试以下命令:

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


评论


使用“ id -u <用户>”和“ id -g <用户>”分别获取uid和gid。

–nvd
2014-09-16 10:00



请注意,您可以按照man mount.cifs中的说明直接使用用户名。

– jstricker
17年4月24日在17:57

为了避免在命令旁边写密码,只需在通话过程中省略password选项-提示符将要求您输入密码,以便可以在看不见的地方键入密码。

–conceptdeluxe
17年6月16日在14:17