Chinaunix首页 | 论坛 | 博客
  • 博客访问: 97816
  • 博文数量: 48
  • 博客积分: 1980
  • 博客等级: 上尉
  • 技术积分: 500
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-16 15:03
文章分类

全部博文(48)

文章存档

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的方法.不知道哪个高人能指点一下

阅读(497) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~