两个用户 - 如何为一个用户自动挂载 Samba 共享,但不为另一个用户自动挂载?

两个用户 - 如何为一个用户自动挂载 Samba 共享,但不为另一个用户自动挂载?

总结:我想配置一个运行 Ubuntu Desktop 并有两个用户的盒子,以便当一个用户登录时它自动挂载受密码保护的 Samba 共享,并且没有当对方登录时。

长版本

在我的家庭网络上,我有两个盒子:一个运行 Ubuntu 桌面,另一个是我的文件服务器,包含两个受密码保护的 samba 共享(无访客访问权限)。

用户和账户:有两个用户,Bob 和 Jane。Bob 和 Jane 在三个地方都有自己独立的用户名和密码(即桌面和文件服务器上的独立 Unix 账户以及独立的 samba 账户)。

Samba 共享:文件服务器有两个 Samba 共享,Secrets 和 Shared。Secrets 的配置使得 Bob 是唯一可以连接到它的用户(在 smb.conf 下的[Secrets]write list = bobguest ok = no等中)。我的问题不是关于如何配置 Samba 共享(抱歉,设置我的问题花了这么长时间)。

自动挂载 samba 共享:当 Bob 登录到 Ubuntu 桌面时,Secrets 会使用 Bob 自己的 samba 凭据自动挂载,Nautilus 将 Secrets 显示为左侧导航栏中“计算机”下的一个位置,这样 Bob 无需动一根手指即可访问它,该共享下的文件和文件夹显示为归 Bob 所有 ( ls -l /media/Secrets),文件权限显示为 ,-rw-------文件夹权限显示为drwx------。我通过将以下内容添加到我的 /etc/fstab 中以及包含 Bob 的 samba 凭据的单独文件来实现这一点。

//centaroo.local/Secrets  /media/Secrets  cifs  uid=bob,gid=bob,credentials=/home/bob/.smbcredentials,iocharset=utf8,sec=ntlm,file_mode=0600,dir_mode=0700  0  0

问题就在这里,我的问题也来了:当 Jane 登录时,她也会看到 Nautilus 左侧导航栏中突出显示的标签“Secrets”,这并不是世界末日,因为当她尝试单击它时,她仍然会被拒绝访问,但我更希望她甚至看不到 Nautilus 中的 Secrets 共享。换句话说,我想以某种方式更改设置,以便当 Jane 登录时,她甚至不知道 Secrets 在那里,它不会尝试自动挂载等。

我该怎么做?因为我想为一个用户自动挂载 Secrets,而不是另一个用户,fstab 是不是错了?我是不是该研究一下 autofs,或者有没有办法做我想做的事?我关注了永久安装 Windows 共享的说明并瞥了一眼autofs 文档,但我不清楚 autofs 是否是答案。如果有人能给我指出正确的方向,我将不胜感激。此外,如果您需要任何额外信息来帮助我,请在评论中指出。谢谢!

答案1

我找到了如何在不触碰 fstab 的情况下做到这一点的方法,正如我在评论中提到的那样。我解决这个问题的方法是在启动应用程序中添加一个脚本,以便在我的用户登录时运行它(但当其他用户登录时不会运行),然后我设置该脚本,以便它可以以 root 身份运行而无需输入密码。有关我采取的步骤以及如何以 root 身份运行启动脚本而无需提供密码的更多详细信息,请参阅“使用启动脚本(不是 fstab)在登录时挂载 samba 共享“ 和 ”如何在脚本中执行 sudo 命令而不要求输入密码“”。

相关内容