转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> MySql >> 正文
使用 Linux 替代 Windows NT/2000 服务器         ★★★★

使用 Linux 替代 Windows NT/2000 服务器

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1560 更新时间:2009/4/22 20:45:12
by Sebastian Sasías

关于作者:
作为一个开发技术解决方案的支撑工具,他已经使用Linux几年了。
他的工作包括通过Linux控制器件,信号处理,通讯和网络安全。
他精通电子自动化和计算机技术。
他一直致力于在GNU/GPL协议下的自由软件开发。

摘要:

这一篇文章提供了以前LinuxFocus 文章关于SAMBA用于在Unix-Windows异构网络共享资源的方案。 特别地,它集中在使用SAMBA运行Windows提供的服务。
这不仅是因为Linux强大灵活,还更出于经济考虑的结果:


极大的节省了购买Windows服务器的许可证费用。
要达到相似的性能表现,Linux比Windows使用更少的硬件资源(也就是处理器和内存了)。

一个运行SAMBA配置恰当的Linux服务器可以替代Windows NT/2000服务器, 它一般能共享目录, 提供活动目录服务(active directory service ,ADS) 但是它可以做为主域控制器(Primary Domain Controller, PDC), 进行 Windows 2000/NT/98/95 作为客户机的用户认证 ,共享资源(目录和打印机) 和定制用户会话。
这篇文章主要集中到这些方面。

许多的计算机环境都以Windows 服务器提供的功能为基础,装有SAMBA的Linux 服务器会在不改变客户机的情况下,替代所有基于Windows系统提供的功能。
以下的要讨论的步骤假定:SAMBA已经安装并且运行正确的机器将被用做服务器。读者需要 Linux和Windows服务器的基本的知识。


--------------------------------------------------------------------------------
配置
遵循以下步骤:

1) 创建要在主域服务器(Linux/Samba)待认证的用户。
使用adduser 命令, useradd 或 userconf, 你可以使用一些用户管理的工具,也可以 是带有图形界面的(Webmin,Linuxconf,Yast等).

需要确认如果用户只进入Linux/Samba服务(如果你想), 这就是说用户不必进入Linux命令行,这样的话只有把home目录设成/dev/null ,命令行设成/bin/false。

2) 把UNIX用户转换成Linux/Samba/Windows用户,生成smbpasswd 文件。

cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

另一个方法是,执行一下的SAMBA命令来创建用户和定义密码:

smbadduser
smbpasswd

这些命令和adduser与passwd一样有类似的作用。

3) 编辑SAMBA的配置文件(smb.conf), 你要确定加入或减去下列标有comment的可选项:


netbios name = SMBServer
workgroup = THEDOMAIN
server string = Linux Samba NT Server
log file = /var/log/samba/%m.log
max log file = 0
security = user
encrypt password = yes
smb password file = /etc/samba/smbpasswd
ssl CA certificate = /usr/share/ssl/.... (cancel comment)
socket options = (cancel comment)
local master = yes
preferred master = yes
domain master = yes
domain logons = yes
logon script = logon.bat
wins support = yes


注意:
做为每一个用户的特有的登陆(login), 需要使用"%U.bat"文件替换 原先的“登陆描述”(login script)。这样每一个用户都有一个的带有自 己用户名的“登陆描述”, %u 也是可以使用的. 如果你想定义用户属于 那个组,你可以使用 %g或%G,这些参数和其他参数的定义可以在手册 中找到。(man smb.conf)

4) 创建共享资源
编辑smb.conf 文件 并注释所有的“共享”的例子,加入以下 的信息,如果没有必要的话,不用更改:

[netlogon]
comment = Initialization Scripts
path = /home/netlogon
read only = yes
guest ok = yes
browseable = no

[home]
comment = User Directory
path = /home/%U
browseable = yes
writable = yes

[public]
comment = Public Directory
path = /home/public
browseable = yes
writable = yes
guest ok = yes
create mask = 0777
force create mask = 0777


保存smb.conf 文件。

5) 你可以使用如下的命令来验证smb.conf是否正确:

testparm

这些命令分析smb.conf 文件并报告发现的错误。

6) 分别使用权限0754和0777 创建/home/netlogon 和/home/public目录。

7) 编辑logon描述文件logon.bat。
重要提示: 使用DOS/Windows文字编辑器 (比如Notepad或Edit)来创建logon.bat文件 (所以保存的文本文件是微软兼容的形式), 你也可以在Linux上做这件事但是你必须转换成正确的文本形式。 你可以使用比如 Vim的命令":set textmode"得到有微软行结尾符的文件。
net time SMBServer /y (you can also use: /yes instead of /y )
net use H: SMBServerhome -y (you can also use: /yes or /y instead of -y )
net use P: SMBServerpublic -y


8) 加入SMBServer信息到lmhosts文件中。
编辑/etc/samba/lmhosts 文件后 /etc/lmhosts)文件并且 加入关于SMBServer信息的一行。

SMB服务器, 比如: 192.168.0.10 SMBServer

9) 重启动SAMBA的后台程序(smbd)。

service smb restart

如果在你的Linux版本中上面的命令不工作,你可以使用如下命令:
ps -auxgx | grep smb
kill -9
smbd

10) 使用smbclient来验证以上的配置是正确的。

smbclient -L //SMBServer

如果"Password:"显示出来, 按"Enter" 键,服务器的共享的 资源会显示出来。

11) 使用Windows 95/98/NT 计算机在域THEDOMAIN中进行客户登陆, 使用Linux/Samba创建的用户(看步骤1和2)。

在95/98/ME中, 配置可以按照一下的顺序:

开始 => 设置 => 控制面板=> 网络 =>微软网络客户 => 属性。

Windows NT/2000(工作站/专业版)中也是类似的用法, 可能顺序不是一样。


单击选项"Start session in Windows NT/2000 domain" 并写下域名 THEDOMAIN (WORKGROUP)。



一个配置文件的实例
一个完整的SAMBA配置文件罗列如下,这个文件在不通的Linux分发版本中测试通过。 读者可以修改它以达到自己想要的结果。其中每条指令都被恰当的注释。

最后,给那些的想快速配置SAMBA的人的建议是安装 Webmin或者SWAT,这些工具可以让你配置时轻松一点。

#============================================================#
# /etc/smb.conf
#------------------------------------------------------#
# SAMBA主配置文件
# 配置文件的骨架,根据你的需求选择其中的参数。
#------------------------------------------------------#
# 测试通过的系统: Solaris系统和 Linux各个发布版本
# RedHat 6.0, 7.0 和 7.1
# Solaris 7
# Slackware 7.x
# Mandrake 6.1, 7.0 和 8.1
# SuSe 7.2
#------------------------------------------------------#
# 最近一次更改时间: 08/12/2001
# 作者:Sebastian Sasias - sasias@Linuxmail.org
#============================================================#
#
# 这个文件按照SAMBA规范来开发的,可以参见smb.conf(5)手册。
#
# OBS: 更改本文件以后,使用"testparm"命令来测试。
#
#======================== Global Options =======================#
#
# 总配置
#
[global]
#.....................................................#
# workgroup = NT-Domain-Name o Workgroup-Name,比如: THEDOMAIN
# PDC域
workgroup = THEDOMAIN
#......................................................#
# 在其他的机器中声明的本机器的名称
netbios name = SMBServer
#......................................................#
# 这个声明会出现在Windows的“网络邻居”中
server string = Samba Server de este lugar
#......................................................#
# 这一行由于安全的原因很关键,只许在局域网中特定的计算机的连接。
# 在这个例子中,是192.168.8.0(C级网络)的网络
# 和“环路”(loopback)的接口是可以连接的。
# 更多的细节,请阅读smb.conf man手册。
# 比如:只有从规定开始的ip以后的地址才能共享资源。
# 192.168.8 和 127 (以后的注释)
; hosts allow = 192.168.8. 127.
#......................................................#
# 如果你想自动载入一个打印机的清单,这样就不必一个一个手动录入,可以使用:
; load printers = yes
#......................................................#
# 覆盖printcap的路径是可能的。
; printcap name = /etc/printcap
#......................................................#
# 在SystemV系统中 printcap对lpstat名称属性一定允许
# 自动地从SystemV(这么个词!:-))的spool系统中取得打印机列表。
; printcap name = lpstat
#......................................................#
# 如果打印机系统是非标准的,就需要指定是什么打印系统。
# 现在支持的打印系统有:
# bsd, sysv, plp, lprng, aix, hpux, qnx
; printing = bsd
#......................................................#
# 如果你需要一个guest帐户,你不要注释掉下面这行。
# 你一定么加入这条到/etc/passwd里,否则这个用户无“人”可用。
; guest account = pcguest
#......................................................#
# 下面这条就是使得每台计算机都有一个不同的log文件,
# 通过这个文件和SAMBA服务器相连。
log file = /var/log/samba/log.%m
#......................................................#
# 设置log文件长度的限制(单位 Kb)。
max log size = 50
#......................................................#
# 阅读security_level.txt for得到更多的细节
# 指定验证密码的方式
# 用户级的安全策略=每个用户都有自己的密码 (SAMBA密码)
security = user
#......................................................#
# 如果使用服务器级的安全策略,验证过程在另一个机器上进行。
# 只有在使用服务器级的安全策略时,才使用值"password server"
# 密码服务器等于【认证服务器地址】。
; password server =
#......................................................#
# 如果你想使用加密的密码,请阅读Samba文档中的ENCRYPTION.TXT,
# Win95.txt和WinNT.txt。
# 你只有清楚的了解这个属性的足够多的信息才能使用它。
# 信息:Win95,Win98和 WinNT 可以发送加密的密码。
encrypt passwords = yes
#......................................................#
# 使用下列的行来定制你的配置。
# 在网络中的每个计算机,%m 取代了自身netbios的名字。
; include = /usr/local/samba/lib/smb.conf.%m
#......................................................#
# 在你会发现文档和一些流行的“提示”会告诉你下面的选项可以得到更好的性能。
# 试试!
# 阅读speed.txt和手册来知道更多的细节。
socket options = TCP_NODELAY
#......................................................#
# Samba 可以配置多种的网络接口。
# 如果你使用多种网络接口,你一定要在下面列出来。
# 阅读手册来知道更多的细节。
; interfaces = 192.168.8.2/24 192.168.12.2/24
#......................................................#
# Browser 控制选项:
# 如果你不想让samba做为网络中的主browser, 设置"local master = no"。
local master = yes
#......................................................#
# 在OS 水平上,本服务器当选主browser优先权的设置。
# 一般地,缺省值可能就可以了。
; os level = 33
#......................................................#
# 域主机指定Samba成为域中主Browser。
# 这样允许Samba运行域控制器和在不同的TCP/IP子网中能被“看成”一台机器。
# 如果你使用了 Windows NT/2000域控制器,你就不应该使用它。
domain master = yes
#......................................................#
# 更高级的域主在启动中使得Samba成为一个局域的Browser,
# 这使得它有更多的机会(选举成为域主)。
# 如果我们有2个以上的服务器,级别高的服务器会更受“欢迎”,
# 客户机会在一个列表中搜寻到一台服务器的。
preferred master = yes
#......................................................#
# 只有你使用NT/2000 服务器在以一个主域控制器(PDC)在运行,你才能使用下条。
; domain controller =
#......................................................#
# 如果你想把SAMBA当成Windows 9x/Me 工作站的“域登陆服务器”,你要使用下条。
domain logons = yes
#......................................................#
# 如果你使用了“域登陆”,你一定要使用一个登陆脚本,
# 在Windows网络中的每台机器或者每个用户。

# 每个工作站的特定登陆批处理是
; logon script = %m.bat

# 每个用户的特定登陆批处理是
; logon script = %U.bat
#......................................................#
# 那里存放零星的profiles文件 (只对Win95和 WinNT有效)
# %L 取代这个服务器的NetBIOS名字, %U 取代用户名
# 如果你使用它,一定不要注释掉下面的Profiles共享
; logon path = %LProfiles%U
#......................................................#
# Windows互联网解析服务器:
# WINS支持 — 告知NMBD使能它的WINS 服务器。
# WINS协议 把机器名转换成IP地址,
# 它象TCP/IP中DNS那样工作。
; wins support = yes
#......................................................#
# WINS服务器-告知Samba的NMBD部件成为WINS的一个客户。
# SAMBA服务器可以成为其中的一个:WINS 服务器或 WINS客户机,
# 但是不可以同时2者皆是。
# 这里WINS IP服务器一定要指定。
; wins

[1] [2]  下一页


[C语言系列]C# 和 Linux 时间戳转换  [C语言系列]使用C#实现ADSL自动拨号
[Web开发]PHP flock文件锁介绍  [Web开发]flock() Linux下的文件锁
[电脑应用]Linux下的六个免费的虚拟主机管理系统介绍  [系统软件]windows下Apache+php+mysql的安装与配置图解
[Web开发]狂人采集器规则使用详解  [电脑技术]windows7快捷键使用大全
[电脑应用]Linux数据库大比拚  [操作系统]在Windows中玩转Linux操作系统
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台