加载中…
个人资料
浆糊的BLOG
浆糊的BLOG
  • 博客等级:
  • 博客积分:0
  • 博客访问:572
  • 关注人气:10
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

利用Samba做域控制器

(2007-10-13 00:28:48)
标签:

IT/科技

分类: linux
Samba简介
Samba是用来实现SMB的一种软件,由澳大利亚的Andrew Tridgell开发,是一种在Linux(unix)环境下运行的免费软件。通过它,LinuxWindows之间可以进行文件的传输,实现打印机的共享。
SMB——Server Messages Block:信息服务块,是一种在局域网上共享文件和打印机的一种协议,它为局域网内的WindowsUnix系统提供文件及打印机等资源的共享服务。
其实早在samba2.2版本已经能非常好的支持samba做PDC(Primary Domain Controller),只不过到了3.0对域的支持更加好,到现在为止最新的版本3.0,已经支持AD,并且支持Microsoft Kerberos 认证、完全重写和可配置的认证子系统等新功能。Samba Serve可以完全取代 NT/2000 PDCPrimary Domain Controller)成为网域主控者管理Windows客户机。当然,Samba 也可以将目录、档案分享给其它 Unix LikeMacOS/2 的机器使用,更令人惊讶的是 Samba Server 也可做为WINS Server,除此之外还可以做 DHCP ServerPrinter Server应用层面可以说是相当广阔。
域控制器的架设
一.           Samba的安装
Samba的安装包有rpm包跟tar包两种(Samba的最新版可以从ftp://ftp.samba.org/pub/samba/http://us4.samba.org/samba/来下载)
注:本文中的Fedora是Linux的主机名称
(1)   Samba的rpm包安装方法:
[root@fedora root]#rpm  -hiv samba-3.*.i386.rpm
(2)   Samba的tar包的安装方法:
[root@fedora root]#tar zxvf samba-3.*.tar.gz  (解压软件包)
[root@fedora root]#cd samba-3.*           (转到已经解压好的资料夹)
[root@fedora root]#cd source              (configure存在于source目录下)
[root@fedora root]#./configure            
[root@fedora root]#make                
[root@fedora root]#make install            (执行安装)
二.smb.conf的配置
smb.conf是samba的主要配置文件,对smb.conf的配置可以手式配置,也可以用其它软件来配置。具体配置如下:
1. 服务器的环境设置             -->[global] 开始。
2. 使用者家目录环境的设置     -->[homes] 开始。
3. 使用者个人登入指令稿的位置   -->[netlogon] 开始。
4. 使用者个人化设置        -->[profiles] 开始。
5. 共享资料夹设置                 -->[共享名称]开始。
[global]
workgroup=PDCTest             (域名)
netbios name=LinuxPDC          (进入网上邻居可看到此名称,若没设置此项则看到的是主机(host name)的名称)
server string=Samba Server %v     (服务器的说明文字,%v表示samba的版本)

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192

os lever=64

preferred master=yes

local master=yes

domain master=yes               (Samba设为网域(NT网域)的主控者PDC)
security = user                   (设定系统安全的等级 -- 使用哪一种密码,来作为登入网域时的验证密码。 (1)security = share完全分享(2)security = user利用操作系统或Samba来验证密码(控管)(3)security = serverdomain 利用NT来验证密码。)
encrypt passwords = yes            (对密码文件编码。)
domain logons = yes
log file = /var/log/samba/log.%m     (设定记录文件的所在路径, %m代表
来源的机器名称。   
log level = 2
max log size = 50                 (设定记录文件的大小,以 K 计算。)
hosts allow =                     (允许访问的机器,可以使用IP)
以下是漫游设置和登录脚本,logon path = \\%L\profiles\%U,会于下面我们要说的 [profiles] 共享成对应关系。

logon home = \\%L\%U\.profile
logon drive = H:

logon path = \\%L\profiles\%U
logon script = %U.bat

[homes]
comment = Home Directories
browseable = no
writeable = yes

[profiles]
path = /home/samba/profiles
writeable = yes
browseable = no
create mask = 0600
directory mask = 0700

[netlogon]
comment = Network Logon Service
path = /home/netlogon            (登录文件存放的路径)
read only = yes
browseable = no
write list= root

[Test]

comment=Test          每一个分享出来目录的简短说明
path=/home/samba/Test   该分享目录在系统中的实际路径
guest ok=yes           试用帐号可以使用
public=yes             是否提供给 guest
browseable=yes         在网络芳邻上是否看得到
write list=@mis,jona     允许写入的是属于群组misuserjona

create mask=0644       建立(写入)文件的的权限模式为0644(自己可擦写,群组可读,其它user可读)

 
.添加用户和机器帐户

先建立下列各组以及创建两个必要目录,并设置正确的所有权。

[root@fedora root]groupadd admin

[root@fedora root]groupadd machines

[root@fedora root]mkdir -m 0775 /home/netlogon

[root@fedora root]chown root.admin /home/netlogon

[root@fedora root]mkdir /home/samba /home/samba/profiles

[root@fedora root]chown 1757 /home/samba/profiles

对上述目录设置正确的权限和所有权是保护服务器的关键一步哦 :)

(1)手工添加机器帐号

比如我的客户端的机器名是mis120,那幺我们可以这样做

[root@fedora root]useradd -g machines -d /dev/null -c "machine id" -s /bin/false mis120$

[root@fedora root]passwd -l mis120$

不要忘记标上美元符号;这是必需的,它将该项标识为信任帐户

创建 linux 帐户后,我们现在可以将该机器添加到 /etc/samba/smbpasswd

[root@fedora root]smbpasswd -a -m mis120

(2)自动添加机器帐号

当然你也可以让系统自动添加机器帐号,用下面的方法,不过大家最好先试手动添加,成功后再试验系统自动添加

自动添加只要在[global]添加

add user script = /usr/sbin/useradd -d /dev/null -g machines -s /bin/false -M %u

添加用户帐号

首先添加的是root帐户,把root加入到smb帐户中

[root@fedora root]smbpasswd -a root

这一步很重要,因为Win2000/WinXP加入域要用到有管理员的帐号加入域的权限,否则用普通用户好象不能顺利加入域

然后添加普通用户

[root@fedora root]useradd kyle

[root@fedora root]passwd kyle

[root@fedora root]smbpasswd -a kyle

为了方便以后的管理,最好smb的用户密码和unix系统密码一样,这样我们还可以用到samba的密码同步功能

下面的选项语句将允许用户从 Windows 客户机上更改他们的 Samba 密码,这样会随即更新他们的 UNIX 密码以与新的 Samba 项相匹配。但是如果更改了 UNIX 密码,那幺同一技术不能逆向工作;必需手工同步更改 Samba 密码。也是在[global],初学者可以先不做这个工作。

unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*UNIX*password* %n\n *Retype*new*UNIX*password* %n\n *Enter*new*UNIX*password* %n\n *Retype*new*UNIX*password* %n\n *passwd: *all*authentication*tokens*updated*successfully*

注意:上述语句中唯一值得一提的是 passwd chat 选项,不管这里如何显示它,都要将它输入成一行。还要注意有些选项使用"password",而有些使用"passwd"
Samba PDC 的配置就这样完成了。剩下唯一要做的是将客户机加入到域中。记得重启samba服务哦!当然也可以重启动计算机来启动Samba
四.客户端设置
我们在这里以Win98/Win2000/WinXP为例来讲解一下客户端如何加入域
(1).Win98加入域的方法:
点击"网上邻居"à"属性"à"组态"à选中"Client for Microsoft Networks"à"属性"à选中"登入Windows NT网域"复选框à在"Windows网域"文本框中输入网域名称 à确定后系统会要求重启计算机
(2).Win2000加入域的方法:
点击"我的计算机"à"属性"à"网络识别"à"内容"à"网域"à点击确定后出现超级用户密码验证框,在此输入Samba的超级用户。à成功加入域后会要求重新启动计算机。
(3).WinXP加入域的方法:
点击"我的计算机"à"属性"à"计算机名称"à"变更"à接下来跟Win200的一样"网域"à点击确定后出现超级用户密码验证框,在此输入Samba的超级用户。à成功加入域后会要求重新启动计算机。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有