版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://rainbird.blog.51cto.com/211214/197509
       笔者这几天在研究samba服务通过ad域进行用户验证。在查资料的过程中发现。关于linux加入windows域,网上资料不少,但是按着网上的说法做大多不成功,甚至很多人估计都不知道自己在说什么,最后一个net ads join就认为已经成功加入到域了,可是然后呢?作为域内的一个成员,普通的机器要可以提供域内的用户登陆;作为samba服务要把共享加入到目录中,这样才起到加入域的作用嘛。笔者经过反复实验,终于把linux加入到windows域一些细节记录下来,不敢独享,特拿出。
       笔者用的linux为centos5.3。ad域为win2k3 sp2。域为:Rainbird.net
Win2k3:
       Name:ad1
       Ip:192.168.1.241
       Dns:192.168.1.241
Centos5.3:
Name:Filesrv
Ip:192.168.1.246
Dns:192.168.1.241
Ok,let’s go!
1.samba服务器软件需求
krb5-workstation-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />1.2.7-19
pam_krb5-1.70-1
krb5-devel-1.2.7-19
krb5-libs-1.2.7-19
samba-3.0.5-2
[root@filesrv CentOS]# rpm -qa|grep krb5<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
krb5-auth-dialog-0.7-1
krb5-libs-1.6.1-25.el5
krb5-devel-1.6.1-25.el5
pam_krb5-2.2.14-1
krb5-workstation-1.6.1-25.el5
[root@filesrv CentOS]# rpm -qa|grep samba
samba-swat-3.0.28-0.el5.8
samba-common-3.0.28-0.el5.8
samba-client-3.0.28-0.el5.8
samba-3.0.28-0.el5.8
如果centos在安装的时候没有取消默认选中的”Base”,则krb5的包是默认全部安装
如果没有选择安装samba可以这样安装
[root@filesrv CentOS]# rpm -ivh xinetd-2.3.14-10.el5.i386.rpm
[root@filesrv CentOS]# rpm -ivh --aid samba*.rpm
2.配置kerberos和samba
因为笔者用的系统为centos所以为保证一次成功的准确率,这里就使用字符界面下的图形工具来配置了。
运行setup工具
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
认证配置
 
选择:
“use winbind”
“use kerberos”
“use winbind authertication”
删除admin server 其余的改成真实情况
Realm为域名,KDC为域服务器的ip
配置winbind
Domain为你的域的,左面第一个”.”前面的东东
 
选择”join domain”,提示是否先保存配置信息,肯定是yes了。
嘿嘿,看到这个画面是不是想到了xp机器加入到域的情景?没错就是那个!输入ad域的管理员密码吧J
不出意外的话,你就到达了最后一个界面,肯定ok,然后退出了。
一般来说,只要两台机器的时间上下不差五分钟,且项都配置正确的话,你就会看到下面这个图片。看到这个图片说明你的linux成功加入到ad域啦!
OK,用图形的好处就是方便快捷,但是这样只适合rh系统。别的linux系统咋办呢?别急。这个工具其实就是编辑以下三个配置文件:
/etc/nsswitch.conf
passwd:     files winbind(就是先读files 然后再通过winbind认证)
shadow:     files winbind
group:      files winbind
/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 = RAINBIRD.NET(默认的域名)
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 forwardable = yes
[realms]
 EXAMPLE.COM = {
  kdc = kerberos.example.com:88
  admin_server = kerberos.example.com:749
  default_domain = example.com
 }
 RAINBIRD.NET = {
  kdc = 192.168.1.241:88(域服务器)
  kdc = 192.168.1.241
 }
[domain_realm]
 .example.com = EXAMPLE.COM
 example.com = EXAMPLE.COM
 rainbird.net = RAINBIRD.NET
 .rainbird.net = RAINBIRD.NET
[appdefaults]
 pam = {
   debug = false
   ticket_lifetime = 36000
   renew_lifetime = 36000
   forwardable = true
   krb4_convert = false
 }
/etc/samba/smb.conf
   workgroup = RAINBIRD//域名
   password server = 192.168.1.241//域服务器
   realm = RAINBIRD.NET
   security = ads//必须启用
   idmap uid = 16777216-33554431
   idmap gid = 16777216-33554431
   template shell = /bin/bash
   winbind use default domain = false (改成true)
   winbind offline logon = false(改成true)
template homedir = /home/%U
   winbind separator = /
   winbind enum users = Yes
   winbind enum groups = Yes
红色部分就是工具自动修改的了,但是smb.conf修改的不彻底,还不能满足我们的要求,怎么办呢?手动把蓝色部分加上,并把那两个false改成ture,然后设置samba的开机自动启动chkconfig smb on,service smb on启动服务,然后就是手工把linux加入到windows了
[root@filesrv ~]# net ads join -U administrator@RAINBIRD.NET
administrator@RAINBIRD.NET's password:
The workgroup in /etc/samba/smb.conf does not match the short
domain name obtained from the server.
Using the name [RAINBIRD] from the server.
You should set "workgroup = RAINBIRD" in /etc/samba/smb.conf.
Using short domain name -- RAINBIRD
Joined 'FILESRV' to realm 'RAINBIRD.NET'
提示“Joined”哟,不是这个提示就是有问题,再仔细检查。
OK,重启linux,这时候用一个域用户登陆linux如果提示用户或密码验证失败,说明你重启之前的东西没配置对。仔细检查一下哪里不对呢?
如果提示如下,那么恭喜你,可以继续下一个话题了。
3.自动创建用户目录.
用到的文件pam_mkhomedir.so
在/etc/pam.d/sysconf-auth文件中的sesson部分添加一行
session     required      pam_mkhomedir.so silent skel=/etc/skel umask=0077
silent不打印创建目录信息
skel 告诉pam_mkhomedir.so拷贝/etc/skel里的文件到新创建的目录里.
umask 是创建的目录的权限
创建哪个目录是在smb.conf里的template homedir定义的
如图:
保存退出,重启一下X-window。再次用域用户登陆,是不是成功看到了久违的linux桌面呢?

Ok,到此为止,linux加入windows的故事就讲完了。而samba服务器通过ad域认证并实现每个用户500M的共享空间,且当用户登陆windows域的时候自动挂载已经成型,近期放出,敬请期待。
 
 
相关文章:
    Samba通过ad域进行认证并限制空间大小
本文出自 “rainbird” 博客,请务必保留此出处http://rainbird.blog.51cto.com/211214/197509

转载于:https://blog.51cto.com/972649/313033

RedHat Linux 加入域相关推荐

  1. RedHat Linux网络配置过程笔记

    在 Linux 系统中,TCP/IP 网络是通过若干个文本文件进行配置的,需要编辑这些文件来完成联网工作.在RedHat linux刚安装好后可以通过图形化界面来配置,以下介绍通过命令行配置网络 用c ...

  2. 第一章:认识Redhat Linux

    第一章:认识Redhat Linux 1.Redhat Linux发展史 Linux系统的诞生并不是凭空出现的,它的宗师是UNIX系统.Linux系统的诞生,是基于UNIX的,1991年,由一位芬兰郝 ...

  3. 通过xmanager远程连接redhat linux as 5

    通过xmanager远程连接redhat linux as 5 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:o ...

  4. linux 登录 忘记密码,redhat linux忘记登陆密码之解决办法

    redhat linux忘记登陆密码之解决办法 很简单的一个技巧,给大家介绍一下 在这个界面 按任意键 按 e键(编辑命令之前启动) 选择第二项 在按e键(修改选定的命令在启动) 输入single ( ...

  5. 红帽子RedHat Linux 9.0安装图解(图)

    RedHat Linux是目前世界上使用最多的Linux操作系统.因为它具备最好的图形界面,无论是安装.配置还是使用都十分方便,而且运行稳定,因此不论是新手还是老玩家都对它有很高的评价.现在,RedH ...

  6. RedHat Linux乱码解决方案(转)

    RedHat Linux中出现中文乱码主要是由于没有安装中文字体,因此解决方案主要是安装中文字体,所以 第一步,挂载安装的光盘 在虚拟机的菜单栏里,选择:VM->Settings,点击Setti ...

  7. 红帽linux怎么更新源,redhat Linux配置yum更新源

    redhat Linux配置yum更新源 (2011-11-19 20:23:04) 标签: 杂谈 YUM是RedHat Linux在线安装更新及软件的工具,但是这是RHEL5的收费功能,如果没有购买 ...

  8. Redhat Linux网卡配置与绑定

    Redhat Linux的网络配置,基本上是通过修改几个配置文件来实现的,虽然也可以用ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,但是重启后会丢失. 相关的 ...

  9. Redhat Linux通过RPM安装搭建LAMP环境

    LAMP就是Linux+Apache+MySql+PHP搭建的动态网站环境,是目前互联网上非常流行的一个网页服务组合. 网上有很多教程搭建LAMP环境,基本上都是编译安装的,其实对新手来说只需要了解L ...

最新文章

  1. 今年央视的春晚能给人带来惊喜吗?
  2. Robot framework 二次开发笔记
  3. boost::spirit模块实现允许调整模板数据的技巧结构作为融合序列以用于直接属性传播的测试程序
  4. [html] 举例说明写一个button的按钮的方法有哪些?
  5. LeetCode 1904. 你完成的完整对局数
  6. 查找字符串末尾含关键字_EXCEL函数公式大全之利用FIND函数和RIGHT函数LEN函数取末尾字符...
  7. 【系列7】使用Dockerfile创建带mysql5.7的Centos Docker镜像1
  8. bootstrap mysql分页_bootstrap实现分页
  9. xcode_8正式版安装遇到的小问题
  10. 超实用Mac软件分享(二)
  11. 【HAVENT原创】CentOS 下 nginx 配置和启动
  12. Vector、Sort课后题解
  13. openwrt php 编译环境,openwrt基础编译教程
  14. 网页设计志愿招募平台模块
  15. Jamie Zawinski访谈:C++之恶
  16. 第六章 使用scikit-learn构建模型
  17. 远程连接基于VMware虚拟机的linux操作系统
  18. Java中获取内存地址
  19. updating java index_myeclipse右下角的updating indexes 是什么意思?
  20. OSChina 周一乱弹 ——取经之路才刚刚开始

热门文章

  1. mysql text字段导出_用命令创建MySQL数据库
  2. git checkout切换到指定commit
  3. 如何做相册_我是如何对2000张照片进行批量套版的
  4. linux fpga 开发环境,- Vivado+Zedboard之Linux开发环境搭建
  5. python字典包含指定键_python-字典中所有值的总和,其中包含键中的项
  6. 仙剑奇侠传7报错:the following components are required to run this program.microsoft visual c++ 2015 runtime
  7. hystrix 源码 线程池隔离_“池”的思想:从java线程池到数据库连接池的源码解读(1)...
  8. excel 相邻数计算机,Excel计算公式大全.doc
  9. php ci controller,Codeigniter – CI_Controller与控制器
  10. 表格金额千分位设置及时间控件默认为空及取两位小数、获取当前日期的年份和月份