当需要按需设置 uid 和路径时,如何使用 systemd 作为 cifs 的自动挂载?

当需要按需设置 uid 和路径时,如何使用 systemd 作为 cifs 的自动挂载?

我正在尝试通过 cifs 将 autofs 设置转换为 systemd 以用于用户主目录。本质上,问题是在触发挂载时为每个用户帐户提供带有 uid、gid、cruid 和 UNC 的挂载命令。系统与 Active Directory 集成以进行用户身份验证,我使用 kerberos 票证来验证 cifs 挂载。

在 autofs 中我有一张这样的地图

/adhomes program /etc/auto.adhome --timeout 300

/etc/auto.adhome 脚本使用 getent 从 AD 获取必要的用户信息,并将以下内容打印到 stdout 供 autofs 使用

-fstype=cifs,vers=3.0,sec=krb5,file_mode=0700,dir_mode=0700,username=$USERNAME,uid=$uid,gid=$gid,cruid=$uid,domain=$DOMAIN ://${FILESERVER}/${HOMESHARE}/$shortname

$VARS 由脚本计算,因此它返回

-fstype=cifs,vers=3.0,sec=krb5,file_mode=0700,dir_mode=0700,[email protected],uid=1234567,gid=1234567,cruid=1234567,domain=ad.domain ://fileserver.internal/rhomes/abc123

我们的 AD 中有 20000 个帐户,因此所有映射都必须按需完成。autofs 设置似乎运行良好,但 systemd 似乎是未来的趋势,因此我尝试采用现代方法。任何指示都将不胜感激。

这是在 CentOS 8.1 上。

相关内容