用于主目录的 Autofs 与 CIFS 并没有真正工作

用于主目录的 Autofs 与 CIFS 并没有真正工作

我在尝试让从 CIFS 共享自动挂载的主目录正常工作时感到有点悲伤。我auto.master添加了这一行

/home/     /etc/auto.home

/etc/auto.home

* -fstype=cifs,rw,nounix,file_mode=0700,dir_mode=0700,multiuser,sec=krb5,user=${UID},cruid=${UID},gid=${GID},_netdev ://mysambashare/Users/&

但是,当用户首次登录并且主文件夹尚不存在时,从查看调试日志来看,似乎该目录首先尝试由root.这当然会失败(因为他们没有正确的krb5凭据),并且用户在没有主目录的情况下登录到计算机。如果我等待大约一分钟,cd ~驱动器就会出现并且完全正常。

我尝试设置negative_timeout = 0/etc/autofs.conf但这似乎没有产生影响。

我尝试将auto.home文件更改为一个脚本,如果使用尝试登录不正确,该脚本会引发错误,但当然,这似乎仍然需要超时。

我很想听听我还有其他选择。

答案1

我想出了一个有效的解决方案。我没有使用UID/条目,而是GID根据尝试安装的文件夹的名称来计算它们。所以auto.home被替换为bash脚本

#!/bin/bash

echo "-fstype=cifs,rw,nounix,file_mode=0700,dir_mode=0700,multiuser,sec=krb5,user=$(id --user $1),cruid=$(id --user $1),gid=$(id --group $1),_netdev ://mysambashare/Users/&"

编辑:实际上我不认为这确实解决了问题,它似乎只是因为缓存了 krb5 票证。当它是全新的登录时,此方法不起作用。

相关内容