我正在使用以下命令将 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 安装,这就是您想要的。如果没有,您可以更改nounix
为forceuid,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(值发生变化,而不是顺序)。