如何为普通用户使用 kerberos 挂载 cif?

如何为普通用户使用 kerberos 挂载 cif?

我可以在我的 AWS 工作区上手动挂载公司共享目录,但我需要为所有用户执行此操作。

$ sudo ksu
[sudo] password for <Domain>\<User.Name>: 
Leaving uid as root (0)
$ mount -t cifs //<Domain>/<Path> /home/*/<Mount\ Point\ Name> -o multiuser,sec=krb5
$ exit

我需要它适用于所有用户,这意味着我需要一个通用的解决方案。

Amazon Workspaces 为每个用户创建一个虚拟机。我需要创建操作系统的映像以与其他用户共享。因此,即使我以某种方式使用我的凭据创建 fstab 条目,这些凭据对于任何其他用户的工作区都无效。

我可能有错误的做法,这可能无法实现。

我想象像上面这样的事情,可能通过创建一个在用户登录时运行的脚本来工作,该脚本使用 ksu 创建上下文,然后在用户的主目录中安装一个目录。因此,用户的凭据在运行时不可用,因为他们只是登录。

答案1

先把店面摆出来,再说吧。目标是在用户登录工作区时安装网络共享。限制:必须使用 kerberos、提前不知道用户是谁、不能使用任何存储的凭据。

以上是我所看到的死胡同。

所以我正在使用的解决方案:pam_mount

编辑两个文件:

  1. /etc/pam.d/system-auth
  2. /etc/security/pam_mount.conf.xml

根据您的发行版,编辑第一个文件可能是可选的,添加两行:

auth        optional      pam_mount.so
session     optional      pam_mount.so

尝试遵循系统身份验证的约定并将这些行添加到适当的部分。

将以下内容添加到第二个文件中:

<!-- Using CIFS -->
  <volume
      fstype="cifs"
      path="//server_name/share_name"
      mountpoint="~/mnt/share_name"
      uid="10000-19999"
      options="sec=krb5i,vers=3.0,cruid=%(USERUID)"
  />

更新此部分以反映您的需求。

欲了解更多信息,请查看上述源页面:

TechRepublic - 使用 pam_mount 在登录时自动挂载文件系统

Arch 维基 - pam_mount

相关内容