现在我向我的用户提供这些说明。它使用 fstab 挂载我们公司的 samba 共享。
sudo mkdir /mnt/simsamba
echo "//atlas/data$ /mnt/simsamba cifs credentials=/root/.credentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0" >> sudo tee -a /etc/fstab
sudo echo "username=$USER" > /root/.credentials
echo "password=" >> /root/.credentials
chmod 600 /root/.credentials
nano /root/.credentials
# Complete both lines by entering your active-directory username/password and saving it here (no space after the =)
这有两个主要问题:
- 用户特定的凭据在计算机范围内使用。这意味着如果另一个用户 ssh 进入这台机器,他们将使用主机的凭据访问 samba 安装。
- 用户凭据以明文形式存储。
另一种方法是让用户在登录时运行此命令:
sudo mount -t cifs -o user=$USER //atlas/data$ ~/shared_drive
但我想自动化这个。我可以将该行放入 中~/.bashrc
,但是每当他们启动新终端时,他们都需要输入密码。另外,如果他们在打开文件浏览器之前没有启动终端,则不会安装。我可以把它放进去~/.profile
,但我不确定密码交互是如何工作的。他们实际上使用与访问 samba 相同的帐户登录到这台计算机,因此最好我希望避免用户重新输入密码。
答案1
尝试玩pam_mount它可以使用登录过程中的用户密码或 krb5 票证: