5.6. 执行多用户 SMB 挂载
您为挂载共享提供的凭据默认确定对挂载点的访问权限。例如,如果您在挂载共享时使用 DOMAIN\example
用户,则共享上的所有操作都将以该用户的身份执行,而不管哪个本地用户执行此操作。
然而,在某些情况下,管理员希望在系统启动时自动挂载共享,但用户应使用他们自己的凭据对共享的内容执行操作。multiuser
挂载选项允许您配置此场景。
要使用 multiuser
挂载选项,还必须将 sec
挂载选项设置为支持以非交互方式提供凭据的安全类型,如 krb5
,或带有凭据文件的 ntlmssp
选项。详情请参阅 以用户身份访问共享。
root
用户使用 multiuser
选项以及对共享内容具有最少访问权限的帐户挂载共享。然后,常规用户可以使用 cifscreds
工具将其用户名和密码提供给当前会话的内核密钥环。如果用户访问挂载的共享的内容,则内核将使用内核密钥环中的凭据,而不是最初用来挂载共享的凭据。
使用此功能包含以下步骤:
先决条件
-
cifs-utils
软件包已安装。
5.6.1. 使用 multiuser 选项挂载共享
在用户可以使用他们自己的凭据访问共享之前,使用权限有限的帐户,以 root
用户身份挂载共享。
流程
在系统启动时,使用 multiuser
选项自动挂载共享:
在
/etc/fstab
文件中为共享创建条目。例如://server_name/share_name /mnt cifs
multiuser,sec=ntlmssp
,credentials=/root/smb.cred 0 0挂载共享:
# mount /mnt/
如果您不想在系统启动时自动挂载共享,请通过将 -o multiuser,sec=security_type
传给 mount
命令来手动挂载它。有关手动挂载 SMB 共享的详情,请参考 手动挂载 SMB 共享。
5.6.2. 验证是否使用 multiuser 选项挂载 SMB 共享
若要验证共享是否是通过 multiuser
选项挂载的,可显示挂载选项。
流程
# mount
...
//server_name/share_name on /mnt type cifs (sec=ntlmssp,multiuser
,...)
如果挂载选项列表中显示了 multiuser
条目,则启用了该功能。
5.6.3. 以用户身份访问共享
如果 SMB 共享是使用 multiuser
选项挂载的 ,则用户可以向内核密钥环提供其服务器凭据:
# cifscreds add -u SMB_user_name server_name Password: password
当用户在包含挂载的 SMB 共享的目录中执行操作时,服务器将为此用户应用文件系统权限,而不是挂载共享时最初使用的权限。
多个用户可以同时对挂载的共享使用自己的凭据来执行操作。