mount 将目录权限更改为 admin:admin?

mount 将目录权限更改为 admin:admin?

我正在使用以下命令将 samba 共享从一台 CentOS 服务器安装到另一台服务器:

mount -t cifs -o blarg,password //10.151.170.170/events /var/blarg/copy-to

当我这样做时,权限/var/blarg/copy-to更改为admin:admin。当我使用umount //10.151.170.170/events权限卸载时变回来。我不希望这种情况发生,因为这会影响其他一些功能。

如何防止权限更改为管理员?

答案1

这是正常的 UNIX 行为,但是您可以使 cifs 忽略远程用户信息。

mount -t cifs -o \
    user=blarg,password=blarg,nounix,uid=0,gid=0 \
    //10.151.170.170/events /var/blarg/copy-to

这使得所有文件看起来都属于 root:root 所有。创建的所有文件将归安装它的用户所有;在这种情况下,布拉格。

nounix不仅仅是禁用用户信息,它还禁用所有 posix 扩展。如果这是 Windows 安装,这就是您想要的。如果没有,您可以更改nounixforceuid,forcegid.

答案2

按照man mount.cifs

   uid=arg
       sets the uid that will own all files or directories on the mounted
       filesystem when the server does not provide ownership information.
       It may be specified as either a username or a numeric uid. When not
       specified, the default is uid 0. The mount.cifs helper must be at
       version 1.10 or higher to support specifying the uid in non-numeric
       form. See the section on FILE AND DIRECTORY OWNERSHIP AND
       PERMISSIONS below for more information.

如果您想将 uid 强制为预期值,请使用 uid。这同样适用于组 (gid)。

例子:

$ mount -t cifs //10.151.170.170/events /var/blarg/copy-to -o blarg,password -o uid=1000,gid=100

要查找 uid 和 gid,可以使用getent命令:

$ getent passwd <username>    
usrname:x:1000:1005:username,,,:/home/username:/bin/bash

其中前 1000 是 uid,第 1005 是 gid(值发生变化,而不是顺序)。

相关内容