我怎么能让我的用户将文件复制到没有根(sudo)的samba共享?

我在我的系统上挂载了一个samba共享到一个我可以通过chmod 777访问到的挂载点,并将它分发给我的用户,但是一旦挂载共享,权限就会变成755 ,并且用户切换到root 。 那么我怎样才能使分享对我的用户可写?

该协议处理这些权限

您在安装共享时需要设置这些权限。 请参阅mount.cifs的手册页或下面的链接。

https://www.samba.org/samba/docs/man/manpages-3/mount.cifs.8.html

特别要注意以下几点

file_mode = arg如果服务器不支持CIFS Unix扩展,则将覆盖默认的文件模式。

dir_mode = arg如果服务器不支持CIFS Unix扩展,则将覆盖默认的目录模式。

还有

uid = arg设置当服务器没有提供所有权信息时,拥有挂载文件系统上所有文件或目录的uid。 它可以被指定为用户名或数字uid。 未指定时,缺省值为uid 0. mount.cifs帮助程序的版本必须为1.10或更高,以支持以非数字forms指定uid。 有关更多信息,请参阅下面的“文件和目录所有权和权限”部分。

forceuid指示客户端忽略服务器为文件和目录提供的任何uid,并始终将所有者指定为uid =选项的值。 有关更多信息,请参阅下面的“文件和目录所有权和权限”部分。

gid = arg设置gid,当服务器不提供所有权信息时,该gid将拥有安装的文件系统上的所有文件或目录。 它可以被指定为组名或数字gid。 未指定时,缺省值为gid 0. mount.cifs帮助程序的版本必须为1.10或更高,以支持以非数字forms指定gid。 有关更多信息,请参阅下面的“文件和目录所有权和权限”部分。

forcegid指示客户端忽略服务器为文件和目录提供的任何gid,并始终将所有者指定为gid =选项的值。 有关更多信息,请参阅下面的“文件和目录所有权和权限”部分。

这听起来像你想要类似的东西

 mount -t cifs -o username=xxx,password=xxx,file_mode=0777,dir_mode=0777 //server/share /mnt 

或者你可以用这样的东西来限制它到一个特定的用户

 mount -t cifs -o username=xxx,password=xxx,uid=1000,gid=1000 //server/share /mnt