![当需要按需设置 uid 和路径时,如何使用 systemd 作为 cifs 的自动挂载?](https://linux22.com/image/759881/%E5%BD%93%E9%9C%80%E8%A6%81%E6%8C%89%E9%9C%80%E8%AE%BE%E7%BD%AE%20uid%20%E5%92%8C%E8%B7%AF%E5%BE%84%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20systemd%20%E4%BD%9C%E4%B8%BA%20cifs%20%E7%9A%84%E8%87%AA%E5%8A%A8%E6%8C%82%E8%BD%BD%EF%BC%9F.png)
我正在尝试通过 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 上。