我试图让我的Linux机器使用活动目录身份validation。 我相信我几乎所有的设置都正确。 我能够发出wbinfo -g
和wbinfo -u
,分别查看所有组和用户。
简要介绍我的设置:
我用我的Linux机器上做用户名的用户名是nick
。 我的活动目录用户名是nwalke
。 他们有两个不同的密码。 我可以用nick
和那个用户的密码login到nwalke
,我也可以用nwalke
的密码login到nwalke
。
好奇的一点:
在创build活动目录用户的主目录后,我运行一个需要root权限的脚本。 这是为他们设置一些系统级的东西,比如一个samba共享。 当我以nwalke
身份nwalke
,input我的nwalke
密码并成功。 [sudo] password for nick:
。 如果我在这里input我的nwalke
密码,它说Sorry, try again.
。 如果我input了nick
的密码,那么说Sorry, user nick is not allowed to execute scriptname as root
。
如果我以nwalke
身份进行nwalke
,我看到神奇的是我的用户被给予了组合。
现在,我不小心以为nick
有一个100,而不是1000的UID。所以最初在我的smb.conf
我有idmap uid 1000-10000
。 我能想到的唯一的事情就是我在nwalke
login的同时仍然设置了,现在我只是被提出了一个1000的UID,迫使linux认为我是nick
。
我不确定该从哪里出发。 就像我说的,我相当确定活动目录正在与我的服务器通信,但是一定不能在linux端正确映射。
有什么想法吗?
这是我的smb.conf
:
[global] security = ads netbios name = hostname realm = COMPANY.COM password server = adshost.company.com workgroup = COMPANY idmap uid = 10000-90000 idmap gid = 10000-90000 winbind separator = + winbind enum users = no winbind enum groups = no winbind use default domain = yes template homedir = /home/%D/%U template shell = /bin/bash client use spnego = yes domain master = no load printers = no printing = bsd printcap name = /dev/null disable spoolss = yes
我需要以某种方式绑定到Linux的盒子上的用户?
这听起来像你有一个UID重叠。
如果nwalke
和nick
共享相同的数字UID,那么第一个nsswitch匹配将会赢得诸如id
, sudo
, ls
类的东西(除非你改变了/etc/nsswitch.conf
的顺序,否则第一个匹配通常不在passwd文件中/etc/nsswitch.conf
或同等)。
(login名可以和任何名字一起工作,因为login名是通过名字查找用户名的。有两个同名的用户会导致一些有趣的混乱,尽pipe…)
您的本地( /etc/passwd
, /etc/group
)和远程(NIS,Samba,LDAP,不pipe)UID / GID不应该重叠。 解决这个核心问题,其余的问题将自行解决。
我已经将smb.conf中的值更改为10,000,并且仍然觉得nwalke正在与1000配对。我该如何解决这个问题?
我不记得它是哪个文件,我目前没有一个系统来检查。
当一个用户第一次连接一个ID的时候会被分配,然后它会被存储在一个Samba数据库中的/var/lib/samba/
看看那个文件夹,这个文件可能很明显是哪个文件。 您可以尝试停止Samba,然后移动/删除那里的所有文件,但是您需要重新join域,因为机器账户凭证也存储在其中一个数据库中。