我可以在我的 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
编辑两个文件:
- /etc/pam.d/system-auth
- /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)"
/>
更新此部分以反映您的需求。
欲了解更多信息,请查看上述源页面: