【问题标题】:Automatically mount cifs shares after login with AD user in linux machine在 Linux 机器上使用 AD 用户登录后自动挂载 cifs 共享
【发布时间】:2021-11-09 17:18:22
【问题描述】:

我需要为使用 AD 用户登录 Centos 机器的用户安装 Synology cifs 共享。 Synology 位于域中,并且共享已分配给组。 Linux 在域中,用户第一次登录时会自动创建主目录。 由于多年以来一切就绪,我无法从 Samba 更改为 NFS 或其他类型的文件系统。

示例。 用户 John Doe,属于 John Group,拥有共享 SynJohn

另一个组的 Mary 有另一个文件夹。 John 进入并需要访问 SynJohn,因为这是他第一次在家中居住 根据 skel 目录,但我事先不知道他是否有域帐户,我不能(而且我不想)在 /etc/fstab 中手动创建一个条目。

在 Synology 上,根文件夹未共享,因此我无法挂载 /volumex/ 并让人们访问 /volumex/SynJohn /volumex/SynMary 等。

我尝试在 mount -t cifs 上授予 sudo 权限,但似乎这是不可能的,因为 挂载点发生变化。不允许在 /etc/fstab 中使用变量。

我的想法是创建一个凭证文件并让用户填写它并使用它手动挂载共享,或者更好地通过 bashrc 自动挂载..

我希望或多或少地解释一下自己......

非常感谢

【问题讨论】:

  • 您好@dg72,如果我的回答对您有帮助,您可以投票并接受它作为答案(点击答案旁边的复选标记,将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢。

标签: linux active-directory mount synology cifs


【解决方案1】:

• 我建议您每个用户都应该只对他们被特别授予访问权限的共享拥有写访问权限。因此,为此目的,当 AD 用户登录到远程挂载在 linux 系统上的共享时,您可以使用以下命令并使用包含正在访问的相关用户的用户名、密码和域的凭据文件文件共享。有关详细信息,请参阅下面的命令:-

 ‘ sudo mount -t cifs -o username=<win_share_user>,domain=<win_domain> 
   //WIN_SHARE_IP/<share_name> /mnt/win_share ‘  -  when the user is in windows 
   AD domain
   Credentials format - username=user
                        password=password
                        domain=domain

• 要在凭据文件上设置正确的权限和所有权,请运行以下命令 -

 ‘ $sudo chown root: /etc/win-credentials
   $sudo chmod 600 /etc/win-credentials ‘

要使用凭证文件,请将其定义为 – ' sudo mount -t cifs -o credentials=/etc/win-credentials //WIN_SHARE_IP/ /mnt/win_share '

• 默认情况下,如果挂载的共享由root拥有,并且权限设置为777,请使用dir_mode选项设置目录权限,使用file_mode选项设置文件权限:-

  'sudo mount -t cifs -o credentials=/etc/win- 
   credentials,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> 
   /mnt/win_share'

默认用户和组的所有权可以通过如下的 uid 和 gid 选项进行更改:-

 ‘ sudo mount -t cifs -o credentials=/etc/win- 
   credentials,uid=1000,gid=1000,dir_mode=0755,file_mode=0755 
     //WIN_SHARE_IP/<share_name> /mnt/win_share ‘

要设置其他选项,请将它们作为逗号分隔的列表添加到 -o 选项之后。要获取所有挂载选项的列表,请在终端中键入 man mount。

【讨论】:

    最近更新 更多