当前位置: 技术问答>linux和unix
怎样才能将linux加入Windows2000域。
来源: 互联网 发布时间:2014-11-12
本文导语: | samba 很常用的。具体的用法可以看下面的文章 本文较为详细地对Linux的Samba服务进行了剖析,内容涉及Samba的核心、语法、组成,以及Samba的启动与停止。同时给出了定制Samba的几个技巧。 1 引 言 Linux是...
|
samba 很常用的。具体的用法可以看下面的文章
本文较为详细地对Linux的Samba服务进行了剖析,内容涉及Samba的核心、语法、组成,以及Samba的启动与停止。同时给出了定制Samba的几个技巧。
1 引 言
Linux是一个优秀的网络操作系统,它可与多种网络集成。Linux系统的稳定性、可靠性受到了广大用户的欢迎,在小型网或者在公司、部门、单位等内部网(Intranet)上,常将Linux充当有效而强劲的文件和打印服务器,让windows客户机共享Linux系统中的文件。这种Linux与 windows网络集成是通过samba来实现。Samba是一组软件包,使Linux支持SMB协议,该协议由TCP/IP实现,它是windows网络文件和打印共享基础,负责处理和使用远程文件和资源。在缺省情况下,windows工作站上的Microsoft client使用服务消息块(SMB)协议。正是由于samba的存在,使得windows和Linux可以集成并互相通讯。
2 Samba核心
samba的核心是两个守护进程smbd和nmbd程序,在服务器启动到停止期间持续运行。Smbd和nmbd使用的全部配置信息全都保存在smb.conf文件中。Smb.conf向smbd和nmbd两个守护进程说明输出什么以便共享,共享输出给谁及如何进行输出。Smbd进程的作用是处理到来的SMB软件包,为使用该软件包的资源与Linux进行协商,nmbd进程使其它主机(或工作站)能浏览Linux服务器。
3 Samba语法
一个完整的 smb.conf一般由Global settings和share Definitions两部分组成。每部分由消息头和参数两部分构成。消息用“[ ]”标志,参数结构形式为:
parameter = value。
其中,parameter可以是一个或用空格分隔的多个单词,value 可以是布尔值、数字或字符
串。参数告诉了smba提供何种服务。在smb.conf文件中,注释行以“#”开头,同时每项中英文字母不区分大小写,在一行最后字符尾加 “”,可将一行分成多行。用“;”开头的行,是可改变的配置,将“;”去掉时,该配置将取作用。
4 Samba组成
4.1 Global settings(全局参数的设置)
该部分由[global]段完成Global的设置,该部分提供了全局参数,对samba的功能具有很大的影响,主要用来设置整个系统规则。[global]段主要参数有:
workgroup=mygroup 提供NT域名 或工作组名 , mygroup是系统Red Hat6.0预置的名 字,用户可根据实际情况, 给出与windows的域名 或工作组名 相同 的名 字, 以指 出samba将在该域或工作组范围中起作用。
server string=samba server 指 定服 务信息通常为samba服 务。
hosts allow 允许登录的Linux-samba的主机名单, 用IP地址给出, 多个IP地址用空格分开,不在名单中的主机将不能得到samba提供的服务,这也是网络安全的一个方面。
printcap name 指 定printcap文件地址, 通常为/etc/printcap, 包含了Linux打印机的配置信息,在ReaHat linux中, lpd守护进程读取printcap文件的配置信息, 然后监测系统的打印请求并管理打印进程。
load printers 允许使用共享打印机时, 默认值为yes。
printing 如果使用的打印机是非标 准的, 那么应该指 出打印机系统类型。在Linux环境
中, 通常指定为bsd类型。
guest acount 来宾帐户, 表示用哪一个Linux用户作为所要的客户连接。由于该帐户权限
很小, root用户通常将其置为nobody。
security 指 定安全模式。大多数用户使用user级的安全模式, samba用本地Unix口令文件验证。如果设置为server时, samba将用password server设定windows NT域服 务器验证方式, 格式为password server=NT域名 。
domain logons 为从win95工作站登录samba提供域名 登录服 务, 应使该项置为yes。
preserve case 与short preserve case 由于在Linux系统中英文大小写视为不 同 的内容, 为在windows中保持原有的大小写状态, 这两项全置yes。
4.2 Share Definitions(共享定义)
4.2.1 [homes]段
在[homes]部分指定windows共享的主目录,如果在windows工作站登录的名字与Linux用户名相同,提供的口令也一致,那么打开网络邻居,双击共享目录图标,就可获得访问该目录的权力。从windows访问Linux主目录时,用户名作为主目录共享名。
[homes]段的主要参数有:
comment 说明提供的服务为Home Directories服务。不影响操作。
browseable 指定其它用户能否浏览该用户主目录。一般置为no, 禁止其它用户访问, 确保数据安全。
writable 使用户访问该目录时具有读取和写入主目录中的文件时, 取值为yes, 只有读取权限时应置为no。
4.2.2 [printers]段
[printers]部分用于指定如何共享 Linux网络打印机,从windwos系统访问Linux 网络打印机时,共享应是printcap中指定的Linux打印机名。
该段中主要参数有:
browseable 若取值为yes, 则允许其它用户访问打印机。否则, 限制其它用户的访问权。
printable 应置为yes, 才能实现打印。
public 置为no时, 客户帐号不 打印出来;置为yes, 则打印出客户帐号。
writable 打印机是输出设备 , 不 可写入, 应置为no。
4.2.3 [tmp]段
该部分是为所有用户提供临时共享方法。主要参数有:
path 指 定临时共享路径。通常为/tmp。
read only 置为no时, 用户对/tmp有可读、可写和执行的权限。
public 一般置为yes, 以便让所有用户共享使用/tmp目录。
4.2.4 [public]段
该部分提供了所有用户都可以共同访问的目录。除了那些属于维护人员具有读、写、执行权外,用户只具有读取的访问权限,主要参数有:
path 指 定公众共享目录路径, 通常为/home/samba。
public 取值为yes, 允许公众共享。否则, 禁止公众共享/home/samba目录。
writable 取值为yes时, 公众有可写权力。
printable 取值为no时, 无打印权力。
write list 指 定具有可写权力的用户名 单。
4.2.5 [fredsprn]段
该段用于指定专用打印机。
comment 指 出打印机名 字。
valid users 使用该打印机的有效用户。
path 专用打印机使用的缓冲池数据存放在用户主目录。
printer 指 出使用哪一个专用(私用)打印机。
public 该打印机不 共享, 仅作专用(私用)。
writable 缓冲池中的数据不 可写, 应置为 no。
printable 指 定打印能否启动, 一般值为yes。
4.2.6 [fredsdir]段
本段用于指定私用目录,以供指定的用户使用,该用户对该目录具有写权限。
comment 注明该目录为谁提供服 务。
path 指 定私用目录路径, 以便指 定用户可读写。
valid users 指 定使用该私用目录的合法用户。
public 当取值为no时, 该私用目录不 供公众用户所共享。
writable 指 定的用户对该私用目录具有写权限时, 取值应为yes。
printable 取值为no时, 不 可打印。
5 samba的启动与停止
在缺省情况下,Red Hat Linux的samba在启动时就已投入运行。也可利用系统脚本来手工启
动和停止
samba。具体方法如下:
# /etc/rc.d/init.d/smb start (启动samba)
# /etc/rc.d/init.d/smb stop (停止samba)
6 定制samba技巧
用户通过对smb.conf文件进行vi编辑,可以添加、删除及修改smba提供的多种服务。Smb.c
onf一般位于
/etc 目录下,在定制符合实际需求的smb.conf时,最好使用
# cp /etc/smb.conf /etc/smb.conf.old
进行保存。要查看smb.conf的内容时,可执行:
# vi /etc/smb.conf
6.1 向公众开放 Linux文件资源,来访者只有读权限。
[public]
comment=public stuff
path = /
public = yes
writable = no
printale = no
write list = @staff
6.2 共享CD-ROM
修改smb.conf之前,先安装光驱,可执行下列命令:
# mount - t iso9660 /dev/cdrom /mnt/cdrom
然后定制samba,内容如下:
[cdrom]
path = /mnt/cdrom
ready only = yes
public= yes
6.3 为多个用户提供服务
comment = userl’sstuff,user2’sstuff,user3’sstuff
path = /home/user1 (用户userl的主目录)
valid users = user1 user2 user3
public = no (除了user1,user2,user3外不向公众用户开放)
writable = yes (三用户对/home/user1中的文件有写权限)
printable = yes (允许打印)
6.4 向公众用户开放/dev目录,浏览设备类型。
[dev]
comment = open and browse the /dev directory
path = /dev (路径为/dev)
ready only = yes (只读)
public = yes (公众共享)
一般说来,每一个Linux 发行版本都包含 samba,但是如果你的版本还是1.x.x 的话,
你要先删除,然后从samba 的老家:http://de.samba.org 下载一个新的2.0.x 的版本。如
果你已经安装了2.0 版本的话,就可以跳到开始设置那里去了。
■ 安装:
把下载好的文件解压到 /tmp 目录:
>> tar zxvf samba-xxxxxx.tgz -C /tmp
然后运行 /tmp/samba-xxx/src 目录下的设置脚本:
>> cd /tmp/samba-xxxxx/src/
如果你用的内核版本高于 2.1.70,使用:
>> ./configure --enable-smbmount
其他情况下,使用:
>> ./configure
在这个脚本定制好系统后,可以开始编译samba 了:
>> make
这段时间要根据你机器来决定,如果工作正常的话,你可以把samba 拷贝到/usr/local
/ 目录下。
只有root 对于/usr/local 目录有写权限。可以用
>> su
命令,并输入root 口令。然后拷贝 samba:
>> cp -a /tmp/samba-xxxx /usr/local
改变目录到这个目录,开始安装 samba :
>> cd /usr/local/samba-xxxx/source
>> make install
建立目录 /usr/local/samba ,在那里放置二进制文件,配置文件以及日志文件。
■ 好了,现在安装好samba了,我们开始设置。
在目录/usr/local/samba/lib/ 内建立设置文件smb.conf:
>> touch /usr/local/samba/lib/smb.conf
为便于测试,我们建立一个最小配置的文件:
[global]
workgroup = workgroup
[all]
path = /
read only = yes
;
; Semicolon starts a comment
; End
"workgroup=" 后面的名字必须和
本文较为详细地对Linux的Samba服务进行了剖析,内容涉及Samba的核心、语法、组成,以及Samba的启动与停止。同时给出了定制Samba的几个技巧。
1 引 言
Linux是一个优秀的网络操作系统,它可与多种网络集成。Linux系统的稳定性、可靠性受到了广大用户的欢迎,在小型网或者在公司、部门、单位等内部网(Intranet)上,常将Linux充当有效而强劲的文件和打印服务器,让windows客户机共享Linux系统中的文件。这种Linux与 windows网络集成是通过samba来实现。Samba是一组软件包,使Linux支持SMB协议,该协议由TCP/IP实现,它是windows网络文件和打印共享基础,负责处理和使用远程文件和资源。在缺省情况下,windows工作站上的Microsoft client使用服务消息块(SMB)协议。正是由于samba的存在,使得windows和Linux可以集成并互相通讯。
2 Samba核心
samba的核心是两个守护进程smbd和nmbd程序,在服务器启动到停止期间持续运行。Smbd和nmbd使用的全部配置信息全都保存在smb.conf文件中。Smb.conf向smbd和nmbd两个守护进程说明输出什么以便共享,共享输出给谁及如何进行输出。Smbd进程的作用是处理到来的SMB软件包,为使用该软件包的资源与Linux进行协商,nmbd进程使其它主机(或工作站)能浏览Linux服务器。
3 Samba语法
一个完整的 smb.conf一般由Global settings和share Definitions两部分组成。每部分由消息头和参数两部分构成。消息用“[ ]”标志,参数结构形式为:
parameter = value。
其中,parameter可以是一个或用空格分隔的多个单词,value 可以是布尔值、数字或字符
串。参数告诉了smba提供何种服务。在smb.conf文件中,注释行以“#”开头,同时每项中英文字母不区分大小写,在一行最后字符尾加 “”,可将一行分成多行。用“;”开头的行,是可改变的配置,将“;”去掉时,该配置将取作用。
4 Samba组成
4.1 Global settings(全局参数的设置)
该部分由[global]段完成Global的设置,该部分提供了全局参数,对samba的功能具有很大的影响,主要用来设置整个系统规则。[global]段主要参数有:
workgroup=mygroup 提供NT域名 或工作组名 , mygroup是系统Red Hat6.0预置的名 字,用户可根据实际情况, 给出与windows的域名 或工作组名 相同 的名 字, 以指 出samba将在该域或工作组范围中起作用。
server string=samba server 指 定服 务信息通常为samba服 务。
hosts allow 允许登录的Linux-samba的主机名单, 用IP地址给出, 多个IP地址用空格分开,不在名单中的主机将不能得到samba提供的服务,这也是网络安全的一个方面。
printcap name 指 定printcap文件地址, 通常为/etc/printcap, 包含了Linux打印机的配置信息,在ReaHat linux中, lpd守护进程读取printcap文件的配置信息, 然后监测系统的打印请求并管理打印进程。
load printers 允许使用共享打印机时, 默认值为yes。
printing 如果使用的打印机是非标 准的, 那么应该指 出打印机系统类型。在Linux环境
中, 通常指定为bsd类型。
guest acount 来宾帐户, 表示用哪一个Linux用户作为所要的客户连接。由于该帐户权限
很小, root用户通常将其置为nobody。
security 指 定安全模式。大多数用户使用user级的安全模式, samba用本地Unix口令文件验证。如果设置为server时, samba将用password server设定windows NT域服 务器验证方式, 格式为password server=NT域名 。
domain logons 为从win95工作站登录samba提供域名 登录服 务, 应使该项置为yes。
preserve case 与short preserve case 由于在Linux系统中英文大小写视为不 同 的内容, 为在windows中保持原有的大小写状态, 这两项全置yes。
4.2 Share Definitions(共享定义)
4.2.1 [homes]段
在[homes]部分指定windows共享的主目录,如果在windows工作站登录的名字与Linux用户名相同,提供的口令也一致,那么打开网络邻居,双击共享目录图标,就可获得访问该目录的权力。从windows访问Linux主目录时,用户名作为主目录共享名。
[homes]段的主要参数有:
comment 说明提供的服务为Home Directories服务。不影响操作。
browseable 指定其它用户能否浏览该用户主目录。一般置为no, 禁止其它用户访问, 确保数据安全。
writable 使用户访问该目录时具有读取和写入主目录中的文件时, 取值为yes, 只有读取权限时应置为no。
4.2.2 [printers]段
[printers]部分用于指定如何共享 Linux网络打印机,从windwos系统访问Linux 网络打印机时,共享应是printcap中指定的Linux打印机名。
该段中主要参数有:
browseable 若取值为yes, 则允许其它用户访问打印机。否则, 限制其它用户的访问权。
printable 应置为yes, 才能实现打印。
public 置为no时, 客户帐号不 打印出来;置为yes, 则打印出客户帐号。
writable 打印机是输出设备 , 不 可写入, 应置为no。
4.2.3 [tmp]段
该部分是为所有用户提供临时共享方法。主要参数有:
path 指 定临时共享路径。通常为/tmp。
read only 置为no时, 用户对/tmp有可读、可写和执行的权限。
public 一般置为yes, 以便让所有用户共享使用/tmp目录。
4.2.4 [public]段
该部分提供了所有用户都可以共同访问的目录。除了那些属于维护人员具有读、写、执行权外,用户只具有读取的访问权限,主要参数有:
path 指 定公众共享目录路径, 通常为/home/samba。
public 取值为yes, 允许公众共享。否则, 禁止公众共享/home/samba目录。
writable 取值为yes时, 公众有可写权力。
printable 取值为no时, 无打印权力。
write list 指 定具有可写权力的用户名 单。
4.2.5 [fredsprn]段
该段用于指定专用打印机。
comment 指 出打印机名 字。
valid users 使用该打印机的有效用户。
path 专用打印机使用的缓冲池数据存放在用户主目录。
printer 指 出使用哪一个专用(私用)打印机。
public 该打印机不 共享, 仅作专用(私用)。
writable 缓冲池中的数据不 可写, 应置为 no。
printable 指 定打印能否启动, 一般值为yes。
4.2.6 [fredsdir]段
本段用于指定私用目录,以供指定的用户使用,该用户对该目录具有写权限。
comment 注明该目录为谁提供服 务。
path 指 定私用目录路径, 以便指 定用户可读写。
valid users 指 定使用该私用目录的合法用户。
public 当取值为no时, 该私用目录不 供公众用户所共享。
writable 指 定的用户对该私用目录具有写权限时, 取值应为yes。
printable 取值为no时, 不 可打印。
5 samba的启动与停止
在缺省情况下,Red Hat Linux的samba在启动时就已投入运行。也可利用系统脚本来手工启
动和停止
samba。具体方法如下:
# /etc/rc.d/init.d/smb start (启动samba)
# /etc/rc.d/init.d/smb stop (停止samba)
6 定制samba技巧
用户通过对smb.conf文件进行vi编辑,可以添加、删除及修改smba提供的多种服务。Smb.c
onf一般位于
/etc 目录下,在定制符合实际需求的smb.conf时,最好使用
# cp /etc/smb.conf /etc/smb.conf.old
进行保存。要查看smb.conf的内容时,可执行:
# vi /etc/smb.conf
6.1 向公众开放 Linux文件资源,来访者只有读权限。
[public]
comment=public stuff
path = /
public = yes
writable = no
printale = no
write list = @staff
6.2 共享CD-ROM
修改smb.conf之前,先安装光驱,可执行下列命令:
# mount - t iso9660 /dev/cdrom /mnt/cdrom
然后定制samba,内容如下:
[cdrom]
path = /mnt/cdrom
ready only = yes
public= yes
6.3 为多个用户提供服务
comment = userl’sstuff,user2’sstuff,user3’sstuff
path = /home/user1 (用户userl的主目录)
valid users = user1 user2 user3
public = no (除了user1,user2,user3外不向公众用户开放)
writable = yes (三用户对/home/user1中的文件有写权限)
printable = yes (允许打印)
6.4 向公众用户开放/dev目录,浏览设备类型。
[dev]
comment = open and browse the /dev directory
path = /dev (路径为/dev)
ready only = yes (只读)
public = yes (公众共享)
一般说来,每一个Linux 发行版本都包含 samba,但是如果你的版本还是1.x.x 的话,
你要先删除,然后从samba 的老家:http://de.samba.org 下载一个新的2.0.x 的版本。如
果你已经安装了2.0 版本的话,就可以跳到开始设置那里去了。
■ 安装:
把下载好的文件解压到 /tmp 目录:
>> tar zxvf samba-xxxxxx.tgz -C /tmp
然后运行 /tmp/samba-xxx/src 目录下的设置脚本:
>> cd /tmp/samba-xxxxx/src/
如果你用的内核版本高于 2.1.70,使用:
>> ./configure --enable-smbmount
其他情况下,使用:
>> ./configure
在这个脚本定制好系统后,可以开始编译samba 了:
>> make
这段时间要根据你机器来决定,如果工作正常的话,你可以把samba 拷贝到/usr/local
/ 目录下。
只有root 对于/usr/local 目录有写权限。可以用
>> su
命令,并输入root 口令。然后拷贝 samba:
>> cp -a /tmp/samba-xxxx /usr/local
改变目录到这个目录,开始安装 samba :
>> cd /usr/local/samba-xxxx/source
>> make install
建立目录 /usr/local/samba ,在那里放置二进制文件,配置文件以及日志文件。
■ 好了,现在安装好samba了,我们开始设置。
在目录/usr/local/samba/lib/ 内建立设置文件smb.conf:
>> touch /usr/local/samba/lib/smb.conf
为便于测试,我们建立一个最小配置的文件:
[global]
workgroup = workgroup
[all]
path = /
read only = yes
;
; Semicolon starts a comment
; End
"workgroup=" 后面的名字必须和
|
samba服务器
|
局域网上Linux与Win 98资源共享
http://huyangyi.sosoo.net/jyw-11.htm
http://tech.sina.com.cn/c/2001-12-05/7671.html
win与linux间的通讯除Samba之外的另一种方案
http://www.lslnet.com/linux/docs/linux-3443.htm
http://huyangyi.sosoo.net/jyw-11.htm
http://tech.sina.com.cn/c/2001-12-05/7671.html
win与linux间的通讯除Samba之外的另一种方案
http://www.lslnet.com/linux/docs/linux-3443.htm