我的用例看起来很简单。我想自动化CIFS文件夹CIFS1和CIFS2,在这个多用户18.04 Ubuntu机器登录期间,在我的文件服务器上的每个用户主页上的所有用户都可以使用它们。
因此,如果user1登录,我会挂载:
如果user2登录,我会挂载:
我已经有一个有效的安装命令来执行此操作,使用Kerberos票证/ SSSD进行身份验证:
sudo mount -v -t cifs -o user=${USER},cruid=${USER},sec=krb5,uid=${UID} //isilon.mydataserver/CIFS1/${USER} /home/${USER}/CIFS1
sudo mount -v -t cifs -o user=${USER},cruid=${USER},sec=krb5,uid=${UID} //isilon.mydataserver/CIFS2/${USER} /home/${USER}/CIFS2运行良好,但现在我希望在登录后直接使用这些文件夹,并将正确的${USER}信息注入到autofs配置中。
还有..。这似乎是不可能的,我尝试了许多事情,直接或间接映射,可执行自动化,但没有成功。
autoconf文件的[mountpoint] [option] [location]模式接受在选项/位置部分中注入环境变量(用户、UID等) only。
在sudo nano /etc/auto.master中,我有:
/- /etc/auto.cifs --ghost按照直接安装的sun模式:[mountpoint] [option] [location],我的/etc/auto.cifs配置包含:
/home/${USER}/CIFS1 -fstype=cifs,user=${USER},cruid=${UID},sec=krb5,uid=${UID} ://isilon.mydataserver/CIFS1/${USER}
/home/${USER}/CIFS2 -fstype=cifs,user=${USER},cruid=${UID},sec=krb5,uid=${UID} ://isilon.mydataserver/CIFS2/${USER}重新加载配置:
sudo systemctl reload autofs在用户登录期间,此配置创建一个/home/${USER}/CIFS1文件夹,而不是/home/user1/CIFS1或/home/user2/CIFS1文件夹.
是否有获得此行为的方法(将CIFS文件夹安装到多用户环境: /home/$USER与$USER = user1,user2,.)使用autofs,还是其他与Kerberos / SSSD / CIFS身份验证兼容的方法?
<#>Edit1 :我精确地告诉读者,我不能修改Active模式以使用SSSD/AutoFS的自动生成功能:(
Edit2 :我也尝试用program:/etc/auto.cifs从auto.master运行bash程序,但这似乎不能解决这个问题,因为程序只能返回[option][location],而不能返回部件。
发布于 2022-06-23 21:46:25
@reyman64 64-你找到解决问题的办法了吗?目前,我正处于您前面描述的情况中,并且一直在浏览网际网路,但是还没有找到解决方案。如果我能够找到如何将用户变量设置为挂载点的一部分,那么它将是金的。
根据详细的响应这里,键位置上的用户变量被设置为运行始终为root的autofs守护进程的用户。看起来,唯一可能的解决方案是让auto.master执行一个脚本。
https://unix.stackexchange.com/questions/513051
复制相似问题