我在尝试让从 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 票证。当它是全新的登录时,此方法不起作用。