我有一台 ubuntu 机器,上面有不同的用户。我想知道是否有办法让多个用户使用不同的 ubuntu 凭据和不同的 cifs 服务器凭据登录到同一个 cifs 服务器共享。
目前,如果其中一台机器用户想要连接,他必须挂载到某个目录,如下所示:
user1@ubuntumachine:~$ sudo mount -t cifs -o "username=serveruser1,uid=$(id -u),gid=$(id -g) //server-address/folder /mount/path_on_ubuntu
如果user2
要挂载,他必须挂载到不同的位置,或者他需要先挂载umount
user1
。我想知道是否有办法user1
可以user2
挂载到相同的目录中/mount/path_on_ubuntu
?
答案1
如果服务器设置为不限制用户通过正确的凭据后可以执行的操作,那么一个选项就是反向执行此操作:限制谁可以访问客户端上已挂载的共享。
假设服务器主机名是 machx:
** 创建一个名为 machx 的组
sudo groupadd machx
** 将有权访问服务器的所有用户添加到该组:
sudo gpasswd -a morbius machx
** 创建仅 root 拥有/可访问的凭证文件:
sudo touch /media/.machxcred
sudo chmod 0600 /media/.machxcred
** 在该文件中,以以下形式添加其中一个预期用户的用户名和密码:
username=serveruser1
password=serveruser1password
** 然后挂载共享并指定仅对“machx”组中的用户开放访问权限:
sudo mount -t cifs -o credentials=/media/.machxcred,gid=machx,dir_mode=0770,file_mode=0660,nounix //machx/folder /mount/path_on_ubuntu