我如何允许我的用户在没有 root(sudo)的情况下将文件复制到 samba 共享?

我如何允许我的用户在没有 root(sudo)的情况下将文件复制到 samba 共享?

我在系统上将 samba 共享安装到了一个挂载点,我将其设置为可供所有人访问,chmod 777并将chown其分配给我的用户,但是一旦我挂载该共享,权限就会更改为755,用户也会切换到root。那么我如何才能使共享对我的用户可写呢?

答案1

协议处理这些权限

您需要在挂载共享时设置这些权限。请参阅手册页mount.cifs或以下链接。

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

具体注意以下几点

文件模式=参数如果服务器不支持 CIFS Unix 扩展,这将覆盖默认文件模式。

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

还有

uid=参数当服务器不提供所有权信息时,设置将拥有已挂载文件系统上所有文件或目录的 uid。它可以指定为用户名或数字 uid。如果未指定,则默认为 uid 0。mount.cifs 帮助程序必须是 1.10 或更高版本才能支持以非数字形式指定 uid。有关更多信息,请参阅下面有关文件和目录所有权和权限的部分。

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

gid=参数当服务器不提供所有权信息时,设置将拥有已挂载文件系统上所有文件或目录的 gid。它可以指定为组名或数字 gid。如果未指定,则默认为 gid 0。mount.cifs 帮助程序必须是 1.10 或更高版本才能支持以非数字形式指定 gid。有关更多信息,请参阅下面有关文件和目录所有权和权限的部分。

强制命令指示客户端忽略服务器为文件和目录提供的任何 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

相关内容