2009年(48)
分类: LINUX
2009-09-17 11:24:30
文件服务器
规划
公司通用文件服务器场景
SAMBA服务器:hostname:cisco.bbport.com
Ip:192.168.9.120/24
AD服务器:hostname:domainctrl.bbport.com
Ip:192.168.9.1
Dns Server:192.168.9.1
要求:实现AD认证SAMBA服务器,AD用户可以访问SAMBA共享
SAMBA 与 AD结合应用
实现AD认证SAMBA服务器,AD用户可以访问SAMBA共享
软件选择
RHEL4 提供的RPM软件包
Samba-common #服务器和客户端均需要的文件;
Samba#服务器端软件;
Samba-client #客户端软件;
System-config-samba #samba服务的GUI配置工具
SAMBA_WINBIND
软件功能
共享linux的文件系统;
共享安装在samba服务器上的打印机;
支持windows客户使用网上邻居浏览网络;
使用windows系统共享的文件和打印机;
支持windows域控制器和windows成员服务器对samba资源的用户进行认证;
支持WINS名字服务器解析及浏览;
支持SSL安全套接层协议;
Samba的核心
核心守护进程smbd和nmbd;
#smbd 监听tcp 139、445端口;
#nmbd监听137和138udp端口;
#smbd进程作用是处理到来的SMB包;
#nmbd使其他主机能浏览linux服务器;
编译安装与相关调试
第1步 安装相关软件
安装SAMBA软件包,以及SAMBA_WINBIND
第2步 SAMBA相关配置
设置网络通信
Ip:192.168.9.120
Dns:192.168.9.1
Hostname:cisco.bbport.com #必须按照/etc/hosts中的规则
与AD建立通信
配置/etc/krb5.conf文件
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm =BBPORT.COM
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes
[realms]
BBPORT.COM = {
kdc = domainctrl.bbport.com:88
admin_server = domainctrl.bbport.com
default_domain = bbport.com
}
[domain_realm]
.bbport.com = BBPORT.COM
bbport.com = BBPORT.COM
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
配置/etc/samba/smb.conf文件:
[global]
workgroup = BBPORT #必须大写
idmap gid = 10000-20000
idmap uid = 10000-20000
password server = 192.168.0.7
security = ads
realm = BBPORT.COM # 必须大写
winbind enum users = yes
winbind enum groups = yes
socket ōptions = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
log file = /var/log/samba/%m.log
winbind separator = + #此句似乎不能跟groups共用
winbind use default domain = yes
[software]
Comment = software tools
Path = /nfs/software
Create mode = 0664
Directory mode = 0777
Browseable = yes
Writable = yes
配置结束后用命令:testparm /etc/samba/smb.conf 检查
第3步 调试
1、 时间同步:ntpdate 192.168.9.1
2、 测试与AD通信
调整完时间利用Kinit工具测试krb5的设置是否正确
kinit
password :
输入password 后返回success 字符或直接返回命令行表示成功通信,其它的信息表明不能正常通信。
klist 可以查看有效凭证时间
3、 测试和加入域
#net ads join (在AS4的话用这句很容易就加到域的,但AS5中我怎么都加不到.所以krb5.conf文件就变得似呼没有用了.)
#net rpc join -S gz.eric.local -U administrator (如果上句不行就试试这一句,我AS5就是用rpc方式连接域的,功能上没有ADS强.)
4、 添加winbind写入帐号的信任——加入域后还需WINBIND同步AD帐号
1) /etc/samba/smb.conf以下内容就是SAMBA结合WINBIND的配置信息
idmap uid = 10000 - 20000
idmap gid = 10000 - 20000
template shell = /sbin/nologin
template homedir = /home/%D/%U
winbind separator = %
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
encrypt passwords = yes
2) #vi /etc/nsswitch.conf——添加winbind写入帐号的信任
修改以下位置
passwd: files winbind
shadow: files winbind
group: files winbind
3) 服务重启:service smb restart service winbind restart
4) 查看WINBIND是否正常:wbinfo –t
5) 把AD帐号同步过来:wbinfo –u
wbinfo -t 测试通信成功与否 checking the trust secret via RPC calls succeeded (返回此信息表示成功了)
wbinfo -u 查看域用户
wbinfo -g 查看组用户
getent group 查看在/etc/group 里生成映射域组用户 (看不到?)
getent passwd 查看在/etc/passwd 里生成映射域用户 (看不到?)
通过ntlm验证程序来测试之前所做的配置是否正确
ntlm_auth --username=administrator
返回
NT_STATUS_OK: Success (0x0)
说明域账号administrator已经通过了AD的认证
第4步 挂载目录
Mount -cifs //cisco.bbport.com/software /mnt/nfs –o user=winbind%winbind
5、 windows客户端访问:
IPTABLES需要重新设置,本人此次没有做,而是直接关闭IPTABLES。
第5步 疑问
1.首先最亟待解决的问题就是AD帐号主目录的自动建立问题,一直想不到好的解决方法.暂时有一个方向是用脚本去实现,还在研究当中.
2.net ads join不能够加入域,只能用net rpc join的方法.不知道哪个高人能指点一下