0

我正在构建一个 ltsp 服务器

一切都很好,并已连接到我的 AD 服务器。我可以使用 AD 用户登录。

我的问题是如何使它使用登录凭据(即 AD 帐户)从服务器挂载特定的 smb 共享(意味着它是动态的)。因此,当每个用户登录时,它将使用他们的用户自动挂载 smb 共享。

有什么好的教程吗?,我在网站上找到的主要是我们必须在文件中写入用户名和密码,让 fstab 读取它,这是不可能的....为了安全

4

1 回答 1

2

将 samba mount命令作为可执行文件放在您的 $PATH 文件夹之一中,您可以通过它们找到它们

echo $PATH

例如 /usr/local/bin 通常在 $PATH 中。一个示例 samba 挂载文件:

#! /bin/bash
sudo smbmount //192.168.2.28/projects /mnt/projects -o user=$1

所以现在你有一个 /usr/local/bin/mountsamba.sh,让任何人运行它:

# chmod u+x /usr/local/bin/mountsamba.sh

第三步是允许新创建的可执行文件在没有密码的情况下以 root 身份执行,这需要编辑 sudoers 文件:

#visudo

并添加:

%samba_mount_group ALL=(root) NOPASSWD: /usr/local/bin/mountsamba.sh

现在 samba_mount_group 中的所有用户都可以在没有密码的情况下以 sudo 执行该命令。你可能也想

  • 创建一个组:linux.die.net/man/8/groupadd
  • 将用户添加到组:www.cyberciti.biz/faq/howto-linux-add-user-to-group/

最后在用户登录时挂载文件夹将命令放入目标用户的 .bashrc

$ echo "cur_user=$USER; sudo bash /usr/local/bin/mountsamba.sh $cur_user" >> .bashrc

(注意:这应该作为目标用户执行)假设他们在 bourne again shell 终端中启动

于 2013-12-16T12:31:58.990 回答