![无法更改 Samba/Winbind 中的主文件夹设置](https://linux22.com/image/11852/%E6%97%A0%E6%B3%95%E6%9B%B4%E6%94%B9%20Samba%2FWinbind%20%E4%B8%AD%E7%9A%84%E4%B8%BB%E6%96%87%E4%BB%B6%E5%A4%B9%E8%AE%BE%E7%BD%AE.png)
我在工作中使用 Debian 8 服务器。最近,我使用Samba和Winbind将其加入域。该域由 Windows Server 计算机上的 Active Directory 管理。这一切都有效:域用户可以使用他们的 AD 密码通过 SSH 连接到服务器,wbinfo
为我提供域组或用户,等等。当我对也拥有域帐户的本地 Debian 用户使用“groups”命令时,我什至会获得域组。
问题就在这里。当我设置所有这些时,我想我想将所有新来者放入服务器中/home/domain/username
,所以我相应地设置了我的smb.conf
文件。不过现在,由于 Nginx 设置的原因,我改变了主意,我在此不再赘述。我希望用户可以去/home/username
。我已经更新了smb.conf
,但是我的新设置不会生效。
我测试这一切的第一个用户是我,但我是该域的管理员。我需要一个非管理员用户,所以选择了在大厅楼下工作的人。她在我进行更改之前登录,并且如您所料,她获得了一个/home/domain/username
文件夹。现在,我决定不使用域文件夹作为主目录,但我想将她的主文件夹移动到/home/username
. Nginx 的事情使得这种情况的发生变得很重要。我也希望所有未来进入服务器的用户都会发生这种情况,但每个人目前都陷入困境/home/domain/username
。
到目前为止我已经尝试过了usermod
,但是失败了,因为作为域用户,这个测试用户根本不在本地系统中,所以/etc/passwd
.我尝试过用户名、domain\\username
、domain\\\\username
和其他变体。我的 winbind 分隔符确实是反斜杠。我知道这一切都行不通,因为passwd
根本没有该用户的记录,但我也尝试了同样的方法。
我还尝试将用户的主文件夹移动到我想要的位置,这样她的旧文件夹就消失了,然后让她登录。我希望 Samba 找不到主文件夹,查看我的新模板告诉它将用户放置在哪里,然后转到到/home/username
。相反,它/home/domain/username
再次创造,并将她放在那里。我让她通过 SSH 登录。
当我跑步时
getent passwd
我获取了所有域用户和组,但它们都显示主文件夹/home/domain/username
而不是/home/username
.然而,在 中smb.conf
,我在 [globals] 部分中有这个:
template homedir = /home/%U
我已经重新启动 Samba 好几次了。我什至对 sssd 进行了这些更改并重新启动,尽管我没有使用 sssd。为了确定起见,我重新启动了 ssh。我现在知道为什么我的测试用户不会移动,但这仅表明所有用户都会遇到此问题。事实上,当我让第二个用户使用域凭据通过 SSH 登录时,她也访问了/home/domain/username
.
到目前为止还没有任何效果。我不知道我还应该尝试什么才能按照我想要的方式设置主文件夹。谁能发现我可能错过的任何内容:设置、重新启动的内容等等?我是在域中使用 Linux 的新手,因此我从许多在线文章和论坛中拼凑了当前的设置。它有效,但我对此了解不够,无法进行广泛的故障排除。如果我漏掉了任何重要细节,请告诉我。
答案1
好吧,我想通了。这对任何 Linux 管理员来说可能都是显而易见的,但对我来说却是新的。
我所做的更改位于 /etc/samba/smb.conf 中。我认为,重新启动 Samba 会将这些更改应用到任何需要了解它们的地方。毕竟,重新启动 Samba 总共会重新启动四个软件包。事实上,我还必须自己重新启动 winbind。当我这样做时,它就获取了更新的 smb.conf 并且一切都按照我想要的方式工作。教训:如果您将 winbind 与 Samba 一起使用,请重新启动它们。