梦想开始的地方
博客园
|
首页
| |
发新文章
|
联系
|
订阅
|
管理
使用samba将linux主机加入AD域(一)
研究了2个星期的一点小成,写出来供大家分享。所有功能都在as3下调试通过。为了图方便,as3采用默认安装。
在研究中经常看到下面这些东东,还是先了解下理论依据
PDC:主域控制器,一般用来做验证
BDC:备份域控制器,一般用于和主域做同步帐号等操作
KDC:密钥分发中心,说白了,就是kerbrose服务器。这个需要对kerbrose有一定的了解,这里不多说了
PAM:可插拔认证模块,这玩意就是使用不同的验证方法来验证你所需要的服务,比如sshd,login,ftp等。这些服务都对应一个配置文件,这个配置文件位于/etc/pam.d/下。而支持这些验证的动态库位于/lib/security/下。
SRV:服务器定位资源记录,要使活动目录正常工作,DNS必须支持SRV。活动目录客户端和域控制器使用SRV记录决定域控制器的ip地址,具体请参见
http://www.cnblogs.com/LCX/archive/2007/02/05/640843.html
下面言归正传,介绍如何将samba服务器加入到AD域中
(1)配置/etc/samba/smb.conf
workgroup
=
LIZL # 你要加入的域,比如你AD上建的域叫LIZL.COM,这里只需省略填入即可
# winbind
netbios name
=
leeldap #你的linux机器名
,
samba服务器
idmap uid
=
15000
-
20000
idmap gid
=
15000
-
20000
winbind enum groups
=
yes
winbind enum users
=
yes
winbind separator
=
/
;
winbind use default domain = yes
template homedir
=
/home/%D/%U
template shell
=
/bin/bash
security
=
domain
password server
=
192.168.115.128
#这里是你的安装ad的机器的ip
encrypt passwords
=
yes
hosts allow = 192.168.1. 192.168.2. 127. 192.168.115.
[
homes
]
comment
=
Home Directories
path
=
/home/%D/%U
browseable
=
no
writable
=
yes
valid users
=
%D/%U #这里记得把域名带上,否则你用ad帐号访问samba服务器时输入正确的ad帐号和密码仍然不能访问共享目录
create mode = 0777
directory mode = 0777
(2)配置/etc/nsswitch.conf
passwd: files winbind
shadow: files
group: files winbind
(3)启用samba和winbind服务。
service smb reload #加这一句是用来解决有时候samba启动不了的问题
service smb start
service winbind start
(4)使用net加入AD域
[
root@leeldap pam.d
]
# net rpc join -S lee -U administrator
Password:
Joined domain LIZL.
(5)测试是否加入成功
[
root@leeldap pam.d
]
# net rpc testjoin
Join to 'LIZL' is OK
[
root@leeldap pam.d
]
# wbinfo -t
checking the trust secret via RPC calls succeeded
[
root@leeldap pam.d
]
# wbinfo -u
LIZL/Administrator
LIZL/brown
LIZL/bruce
LIZL/Guest
LIZL/jet
LIZL/krbtgt
LIZL/lee
LIZL/lili
LIZL/lizl
LIZL/samba
LIZL/SUPPORT_388945a0
LIZL/test
[
root@leeldap pam.d
]
# wbinfo -g
BUILTIN/System Operators
BUILTIN/Replicators
BUILTIN/Guests
BUILTIN/Power Users
BUILTIN/Print Operators
BUILTIN/Administrators
BUILTIN/Account Operators
BUILTIN/Backup Operators
BUILTIN/Users
[
root@leeldap pam.d
]
# getent passwd
root:x:
0
:
0
:root:/root:/bin/bash
。。。。。。。
LIZL/administrator:x:
15000
:
15000
::/home/LIZL/administrator:/bin/bash
LIZL/brown:x:
15001
:
15000
:Brown Lee:/home/LIZL/brown:/bin/bash
LIZL/bruce:x:
15002
:
15000
:Bruce Lee:/home/LIZL/bruce:/bin/bash
LIZL/guest:x:
15003
:
15000
::/home/LIZL/guest:/bin/bash
LIZL/jet:x:
15004
:
15000
:Jet Chen:/home/LIZL/jet:/bin/bash
LIZL/krbtgt:x:
15005
:
15000
::/home/LIZL/krbtgt:/bin/bash
LIZL/lee:x:
15006
:
15000
:Jackie Lee:/home/LIZL/lee:/bin/bash
LIZL/lili:x:
15007
:
15000
:lily:/home/LIZL/lili:/bin/bash
LIZL/lizl:x:
15008
:
15000
:lizhili:/home/LIZL/lizl:/bin/bash
LIZL/samba:x:
15013
:
15000
:samba:/home/LIZL/samba:/bin/bash
LIZL/support_388945a0:x:
15009
:
15000
:CN
=
Microsoft Corporation
,
L
=
Redmond
,
S
=
Washington
,
C
=
US:/home/LIZL/support_388945a0:/bin/bash
LIZL/test:x:
15014
:
15000
:test:/home/LIZL/test:/bin/bash
[
root@leeldap pam.d
]
# getent group
root:x:
0
:root
。。。。。
BUILTIN/System Operators:x:
15009
:
BUILTIN/Replicators:x:
15010
:
BUILTIN/Guests:x:
15011
:
BUILTIN/Power Users:x:
15012
:
BUILTIN/Print Operators:x:
15013
:
BUILTIN/Administrators:x:
15014
:
BUILTIN/Account Operators:x:
15015
:
BUILTIN/Backup Operators:x:
15016
:
BUILTIN/Users:x:
15017
:
(5) 现在可以到ad机器上的活动目录中可以看到该机器了
接下来介绍加入AD域后的一个简单应用,要不就不知道这样加有啥子用了。既然samba服务器已经加入AD域中,那自然会想到,window域中的本地帐号是否能访问linux机器呢?答案是肯定的。这就是winbind的作用了,当window域中的本地帐号需要登录linux主机时,winbind服务去ad服务器去验证该帐号是否合法,而不是到linux本地的/etc/passwd中去验证,当然如果要用不同的验证方式,就可以用pam去进行复杂的设定.
(1)确保/etc/samba/smb.conf中配置了passwd server选项,这个折磨过我2天,一定要切记
(2)配置system-auth
auth required /lib/security/$ISA/pam_env.so
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
auth sufficient /lib/security/$ISA/pam_winbind.so use_first_pass
auth required /lib/security/$ISA/pam_deny.so
account required /lib/security/$ISA/pam_unix.so broken_shadow
account
[
default=bad success=ok user_unknown=ignore
]
/lib/security/$ISA/pam_winbind.so
account required /lib/security/$ISA/pam_permit.so
password required /lib/security/$ISA/pam_cracklib.so retry
=
3
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password sufficient /lib/security/$ISA/pam_winbind.so use_authok
password required /lib/security/$ISA/pam_deny.so
session required /lib/security/$ISA/pam_limits.so
session required /lib/security/$ISA/pam_unix.so
(3)配置sshd,使用ad帐号登录时,自动创建/home/LIZL/ad帐号目录
auth sufficient /lib/security/pam_winbind.so
auth required /lib/security/pam_stack.so service
=
system-auth
auth required /lib/security/pam_nologin.so
account sufficient /lib/security/pam_winbind.so
account required /lib/security/pam_stack.so service
=
system-auth
password required /lib/security/pam_stack.so service
=
system-auth
session required /lib/security/pam_stack.so service
=
system-auth
session required /lib/security/pam_limits.so
session required /lib/security/pam_mkhomedir.so
session optional /lib/security/pam_console.so
(4)顺便配置下samba这个pam
#auth required pam_nologin.so
auth required pam_stack.so service
=
system-auth
account required pam_stack.so service
=
system-auth
#session required pam_stack.so service
=
system-auth
#session required pam_mkhomedir.so skel
=
/etc/skel umask
=
0022
#password required pam_stack.so service
=
system-auth
好了,接下来享受下用ad帐号登录linux主机的快乐吧。。如果要结合samba控制目录访问等权限的话,继续努力研究samba吧。。。
发表于 2007-08-12 21:21
lizl.net
阅读(1637)
评论(12)
编辑
收藏
网摘
所属分类:
window相关
评论
#1楼
"接下来享受下用ad帐号登录linux主机的快乐吧。"请问楼主这句话是什么意思,是不是在linux主机下用ad的帐号可以登陆linux主机,相当于linux的本地帐户?还是意思指的是在windows下通过ad帐号访问linux下的samba共享的文件?
ad帐户能不能登陆linux主机呢?
你那个system_auth主要起什么作用的?
还望指教!!!
谢谢了
#2楼
[
楼主
]
在linux主机下用ad的帐号可以登陆linux主机,相当于linux的本地帐户,完全正确。
wbinfo -u 里面列出的就是ad中的帐号。如果配置成功,就可以用wbinfo -u中所列出的帐号登录linux主机了.密码就是你建ad帐号时设置的密码。
通过配置/etc/pam.d/system_auth来进行pam认证,使得ad帐号能够登录linux主机。system_auth只是pam认证下的一个模块,当然你也可以修改login模块来控制登录。
至于你要控制帐号的samba共享目录,这还要设置samba相关配置文件
我也是刚接触这方面的东西,希望大家一起研究进步。
#3楼
如果用ad用户登陆linux主机,除了设置了systerm_auth中的参数,别的就不用做什么了吗,我按照你对pam的设置,但是登陆不上去。
出现这样的情况:
如果处于超级用户下利用#su user1 ,下面出来bash-3.2$
如果从普通用户下登陆利用$su user1 ,输入密码后出来 su:incorrect password
还请你指教一下,是不是通过这种方式的登陆的,如果是的,感觉错误出在哪里?谢谢了,你的QQ或者MSN是多少?能否告诉我,谢谢了,可以讨论一下关于samba的问题
#4楼
[
楼主
]
我是直接用ssh登录,不是像你那样用linux本地用户登进去再转到ad帐户的。
其实我这个例子很简单,就是用ad帐户登录时,通过linux下samba中的winbind对ad帐号进行验证的。能够访问ad帐号在linux上设定好的共享目录,(这样任何ad帐号都可以在linux上主机上有自己的文件目录,也就是实现了一个简单的文件服务器的功能),在这里就是/home/域名/帐号目录,没有就自己手工建一个。每个人都只能访问自己目录下的内容。我的qq是12307700.
#5楼
那你的sshd的配置文件修改了没?是怎么修改的,我感觉只修改system_auth配置文件是不行的,我用ssh登陆不上去,还望指教一下
#6楼
[
楼主
]
不知道你说的sshd的配置文件是系统自带的/etc/ssh/sshd_config,还是/etc/pam.d/sshd,如果是后者,你查看sshd就明白为什么只配置system_auth就可以了。
至于你的ssh登录不上,你可以试试不用ad帐号登录,而是用系统本地帐号试试,不行的话你到网上找找答案,这方面的资料还是很多的。
#7楼
我用本地帐号通过ssh可以登陆到系统,但是用ad帐户登陆不进去,不知道为什么,你的/etc/pam.d/sshd是怎么设置,能不能让我看一下,/etc/ssh/sshd_config的配置你没有修改吧。楼主以下是我的/etc/pam.d/sshd
auth include system-auth
auth sufficient pam_unix.so
auth required pam_winbind.so use_first_pass
account sufficient pam_unix.so
account required pam_winbind.so
account required pam_nologin.so
account include system-auth
password include system-auth
session optional pam_keyinit.so force revoke
session include system-auth
session required pam_loginuid.so
session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel umask=0022
我的system-auth和你一样
你看以下哪里错了,我对这个文件不是看的很懂
谢谢了
#8楼
[
楼主
]
这是我的配置,可以参考下:
#auth sufficient /lib/security/pam_winbind.so
auth required pam_stack.so service=system-auth
auth required pam_nologin.so
#account sufficient /lib/security/pam_winbind.so
account required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
session required pam_limits.so
#session required /lib/security/pam_mkhomedir.so
session optional pam_console.so
还有
auth include system-auth 这个是啥意思,pam中应该没有include关键字吧。只有四种可能:required,requisite,sufficient,optional
#9楼
我的linux系统是fedaro7,所以有这个include选项,不过我不清楚这是什么意思,应该有包含的意思,再者我的/lib/security下面没有 pam_stack.so 这个库,你的系统是哪个发行的版本,看看这个问题能不能解决
#10楼
我从别的地方拷过来一个pam_stack.so库,利用你的配置文件,但是还是不可以,是不是对于fedaro7不适用呢,还望赐教,谢谢了!
#11楼
我的是登陆后一闪,日志里有正确的记录。:)本地账号没问题。
#12楼
[
楼主
]
登陆后一闪是啥意思。。。愿听其详。。
我没接触过fedaro系统,我用的比较多的是linux和freebsd。。
刷新评论
切换模板
发表评论
昵称:
[登录]
[注册]
主页:
邮箱:
(仅博主可见)
验证码:
看不清,换一个
评论内容:
登录
注册
[使用Ctrl+Enter键快速提交评论]
0
852846
导航:
网站首页
社区
新闻
博问
闪存
网摘
招聘
找找看
Google搜索
China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
China-Pub 计算机绝版图书按需印刷服务
相关文章:
最新IT新闻:
19岁天才黑客发布首个iPhone 3GS破解软件
新浪邮箱大本营粉墨登场!Sina.cn开放注册
IE市场份额首次跌破60%
Google App Engine宕机6小时——云的安全在哪里?
微软新推社交网站Windows Live Planet
相关链接:
随笔:30 文章:36 评论:37 引用:0
<
2009年7月
>
日
一
二
三
四
五
六
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
公告
既已披挂上阵
管它生死荣辱
既已挥刀出鞘
管它成败存亡
只要能迈动脚步
我只知道
路还很长
与我联系
发短消息
搜索
留言簿
给我留言
查看留言
文章分类
c++相关(1)
(rss)
dotnet相关
(rss)
linux相关(6)
(rss)
php相关(13)
(rss)
window相关(4)
(rss)
脚本技术(7)
(rss)
数据库相关(4)
(rss)
相册
学生时代
朋友
591wap
deng2001
xeonwell
更深的蓝
可可豆
木白木公
最新评论
1. re: 使用samba将linux主机加入AD域(二)
在运行net ads join 是,不成功,debug后。是 Connected to LDAP server 192.168.153.129 [2009/01/19 17:53:47, 2] li...
--hi
2. re: 轻松生活,自己把握
……
工作很累,上班就想下班,
--kamal
3. re: Php构造webservice
怎么就一半呀?
--国辉
4. re: FPDF中的编码
博主你好 看完你的贴我知道你对TCPDF一定很有研究 我想请教你个问题 用TCPDF 把 HTML 转化为PDF时 怎样显示为日文 你说是要 先ADDFONT 再 SetFont 可是FONT 里面需...
--ljy
5. re: freebsd下安装openldap
大家好才只真的好。。。呵呵
--lizl.net
6. re: freebsd下安装openldap
哥们,谢谢了,正好碰到这个问题
--呵呵!
7. re: 亲历春运
你太懒啦。博客这么久也不更新一次,真是浪费资源啊!
--李明萌
8. re: 亲历春运
同坐一辆车一样的遭遇一样的感受
-- ~
9. re: 睡不着
谁都有些烦心事。
无须让别人给你鼓掌,做你自己。
要能放的下烦心事情,就更好!
--zhangzhigang
10. re: 使用samba将linux主机加入AD域(二)
@mr.momo [root@leeldap var]#kinit administrator@lizl.com Password for administrator@lizl.com: kinit...
--lizl.net
11. re: 使用samba将linux主机加入AD域(二)
我出現了新的問題還望指教一下當我輸入密碼后 提示:kinit(v5) KDC reply did not match expectations while getting initi...
--mr.momo
12. re: FPDF实现中文换行
我改个方式好了有两个档案下面那个连结是输出画面另外我不是真的要玩弄你我不知道你不能打开这些网址不好意思---countries.txt王小明;00000000;g70321@gmail.com;000...
--suite_chic
13. re: FPDF实现中文换行
还是打不开,难道是人品问题?:)
--lizl
14. re: FPDF实现中文换行
試試看
thx
--suite_chic
15. re: 使用samba将linux主机加入AD域(一)
登陆后一闪是啥意思。。。愿听其详。。
我没接触过fedaro系统,我用的比较多的是linux和freebsd。。
--lizl.net
16. re: FPDF实现中文换行
上面的链接不能访问。。。
--lizl.net
17. re: FPDF实现中文换行
不好意思 我本身是台人本想把案成ANSI no bom让你看的时候方便一点可是套件好像不吃utf8的程式如果档案有问题麻烦告知一下谢谢...
--suite_chic
18. re: 使用samba将linux主机加入AD域(一)
我的是登陆后一闪,日志里有正确的记录。:)本地账号没问题。
--shijiang1130
19. re: FPDF实现中文换行
不好意思,写错了,应该是Rect。 至于你说的不能换行的问题,应该是你调用的时候问题。我在项目中还没有出现你说的情况。 我是在pdf_Chinese中写一个方法来调用的,如下: function m...
--lizl.net
20. re: FPDF实现中文换行
不好意思第三项 Rows 方法并没有 $this->sect($x,$y,$w,$h); 阿?另外第二项我照您说改成 if(!$cw[$c]) $l+=500; else $l+$cw[$c];...
--suite_chic
21. re: 使用samba将linux主机加入AD域(一)
我从别的地方拷过来一个pam_stack.so库,利用你的配置文件,但是还是不可以,是不是对于fedaro7不适用呢,还望赐教,谢谢了!
--程延锋
22. re: 使用samba将linux主机加入AD域(一)
我的linux系统是fedaro7,所以有这个include选项,不过我不清楚这是什么意思,应该有包含的意思,再者我的/lib/security下面没有 pam_stack.so 这个库,你的系统是哪...
--程延锋
23. re: 使用samba将linux主机加入AD域(一)
这是我的配置,可以参考下: #auth sufficient /lib/security/pam_winbind.so auth required pam_stac...
--lizl.net
24. re: 使用samba将linux主机加入AD域(一)
我用本地帐号通过ssh可以登陆到系统,但是用ad帐户登陆不进去,不知道为什么,你的/etc/pam.d/sshd是怎么设置,能不能让我看一下,/etc/ssh/sshd_config的配置你没有修改吧...
--程延锋
25. re: 使用samba将linux主机加入AD域(一)
不知道你说的sshd的配置文件是系统自带的/etc/ssh/sshd_config,还是/etc/pam.d/sshd,如果是后者,你查看sshd就明白为什么只配置system_auth就可以了。 ...
--lizl.net
26. re: 使用samba将linux主机加入AD域(一)
那你的sshd的配置文件修改了没?是怎么修改的,我感觉只修改system_auth配置文件是不行的,我用ssh登陆不上去,还望指教一下
--程延锋
27. re: 使用samba将linux主机加入AD域(一)
我是直接用ssh登录,不是像你那样用linux本地用户登进去再转到ad帐户的。 其实我这个例子很简单,就是用ad帐户登录时,通过linux下samba中的winbind对ad帐号进行验证的。能够访问a...
--lizl.net
28. re: 使用samba将linux主机加入AD域(一)
如果用ad用户登陆linux主机,除了设置了systerm_auth中的参数,别的就不用做什么了吗,我按照你对pam的设置,但是登陆不上去。 出现这样的情况: 如果处于超级用户下利用#su user1...
--程延锋
29. re: 使用samba将linux主机加入AD域(一)
在linux主机下用ad的帐号可以登陆linux主机,相当于linux的本地帐户,完全正确。 wbinfo -u 里面列出的就是ad中的帐号。如果配置成功,就可以用wbinfo -u中所列出的帐号登录...
--lizl.net
30. re: 使用samba将linux主机加入AD域(一)
"接下来享受下用ad帐号登录linux主机的快乐吧。"请问楼主这句话是什么意思,是不是在linux主机下用ad的帐号可以登陆linux主机,相当于linux的本地帐户?还是意思指的...
--程延锋
31. re: 伊拉克式的胜利[未登录]
TNND,套用我们同事的一句话:中国队就是“东亚病夫”。
--伯爵
32. re: 26的味道
加油,加油,加油。。。。。。
--伯爵
33. re: lee is back..........[未登录]
不求最大成功,但求最少遗憾...想做就做,做你自己
>>说得好
--Answer