当前位置: 技术问答>linux和unix
谁有完整的在linux8下sambar的配置资料?
来源: 互联网 发布时间:2015-01-13
本文导语: 在线期待~~! | 6.4 建立S a m b a服务器 不管现在身在何处,只要身边有电脑的话,几乎都可以看到Wi n d o w s 9 5 / N T的踪影,因为 Wi n d o w s 9 5 / N T的G U I界面漂亮、直观、简...
在线期待~~!
|
6.4 建立S a m b a服务器
不管现在身在何处,只要身边有电脑的话,几乎都可以看到Wi n d o w s 9 5 / N T的踪影,因为
Wi n d o w s 9 5 / N T的G U I界面漂亮、直观、简单易用,不能不让人想使用它,但L i n u x的爱好者
喜欢L i n u x系统的开放和每天有挖掘不完的新东西,自己可以把L i n u x弄的千变万化,完全适
用于自己的电脑与本身的喜好。两种操作系统的优良特性如果能互相配合,那不是挺好的吗?
但是L i n u x与Wi n d o w s 9 5 / N T之间的连线只能靠T C P / I P,从Windows95/NT telnet到L i n u x或是用
f t p做文件传输而己! L i n u x虽然有N F S可以有效和Wi n d o w s 9 5 / N T相连,然而Wi n d o w s 9 5 / N T目
前似乎没有一套免费、易用的N F S软件可以和L i n u x沟通。两种操作系统之间似乎毫无关系!
但自从“S a m b a”出现后,从此为L i n u x和Wi n d o w s 9 5 / N T搭起友谊的桥梁了。
6.4.1 Samba是什么
基本上,S a m b a可以想成是一个局域网络上的File/Printer Server,可以提供文件系统、打
印机或是其他的信息并与Samba Server在同一个子网域( s u b n e t )的Samba client(如Wi n d o w s 9 5、
Wi n d o w s N T、Wa r p S e r v e r、s m b f s等)共享。因为它的基本工作原理是让N e t b i o s ( Wi n d o w s 9 5网
络邻居的通信协议)与SMA(Server Message Block)这两种协议运行在T C P / I P的通信协议上,且
使用Netbios nameserver 让你的L i n u x机器可以在网络邻居上被看到,所以L i n u x就可以和
Wi n d o w s 9 5 / N T在网络邻居上沟通,互相浏览分享文件了。也就是说, Smaba Server可以让你
的L i n u x变成如Novell Server一般,可以让Wi n d o w s 9 5的使用者用网络邻居分享L i n u x的文件和
打印机了。
6.4.2 安装Samba
S a m b a这套免费的软件里面包含了Samba Server和Samba Client,所以装好S a m b a后,不
只是可以提供资源给别人,同样也可以用Samba Client 去分享其他Samba Server 或是
Wi n d o w s 9 5 / N T网络邻居上的机器共享出来的资源。
基本上, S a m b a是为U N I X系统所发展的,但目前也有N e t Wa r e、Windows NT、O S / 2和
V M S版的S a m b a了,如果想尝试使用别的操作系统的S a m b a也是非常容易的一件事!而在使
用Red Hat Linux安装S a m b a之前,建议k e r n e l最好是用2 . 2 . 1 0版的,因为它针对S a m b a的b u g做
了些修正,在使用Samba client打印文件名时会稳定一些。
在Red Hat Linux下安装S a m b a是最简单不过的了,只要几个步骤就可以解决了。目前最
新版的S a m b a版本为2 . 0 . 3 p 8,表示2 . 0 . 3版p a t c h第8次。在Red Hat Linux发行版所附光盘中,
即捆绑有S a m b a - 2 . 0 . 3 - 8 . i 3 8 6 . r p m软件,你可以直接从光盘上安装。当然了,你也可以从其他
渠道(比如I n t e r n e t上S a m b a的主页: h t t p:/ / w w w. a p a c h e . o rg上下载A p a c h e的最新版本)获得
S a m b a软件,如果是S a m b a的源程序代码压缩文件,你首先得将它进行解压缩,然后进行编译
才可以使用。
以S a m b a - 1 . 9 . 1 7 p 2 . t a r. g z文件为例,讲一下编译的基本步骤: (如果使用Red Hat Linux 4.1
光盘中捆绑的S a m b a - 2 . 0 . 3 - 8 . i 3 8 6 . r p m软件,因为它是R P M类型文件,无须编译,可直接跳过
这一步骤)。
我们现在就开始安装S a m b a。请依照下列步骤完成:
1) 解压缩文件。
取得s a m b a - 1.9.1 7 p 2 . t a r. g z文件,然后随便找个目录将它解压缩,包文件解压缩后,直
接会产生目录s a m b a - 1.9.1 7 p 2 /:
# tar zxvf samba-1 .9.1 7 p 2 . t a r . g z
阅读安装说明文件,获取帮助,先看看R E A D M E,再到d o c s /下看看其他文件和执行:
# nroff -man smbd.8|less
# nroff -man nmbd.8|less
相信会得到非常多的帮助。
2) 进入s o u r c e /,编辑M a k e f i l e文件。
先看一下R E A D M E、I N S TA L L之类的文件,对于安装软件会有很大的帮助。因为S a m b a
可适用于多种U N I X操作系统,所以M a k e f i l e里面定义了非常多的U N I X系统,我们只要找出
定义L i n u x的部份,然后将#删除就可以了。而这一版S a m b a的M a k e f i l e里面对L i n u x有五种定
义情况,请选择一种。基于安全性考虑,建议用第三种方式包含有shadow passward与q u o t a来
编译S a m b a:
Use this for Linux with shadow passwords
先从M a k e f i l e中找到上面这一段字。假如系统有安装shadow password,就将M a k e f i l e里面
这一段的
# FLAGSM = -DLINUX -DSHADOW_PWD -DFAST_SHARE_MODES
# LIBSM = -lshadow
这两行的#号删除,然后储存M a k e f i l e进行第3步骤。
Use this for Linux without shadow passwords
假如你的系统没有安装shadow password,就将M a k e f i l e里面这一段的
# FLAGSM = -DLINUX -DAXPROC -DFAST_SHARE_MODES
# FLAGSM = -DLINUX -DFAST_SHARE_MODES
# LIBSM =
这三行的#号删除,然后储存M a k e f i l e进行第3步骤。
Use this for Linux with shadow passwords and quota
假如系统有安装shadow password和q u o t a的话,就将M a k e f i l e里面这一段
# FLAGSM = -O3 -m486 - DLINUX-DSHADOW_PWD - DQUOTAS -DFAST_ SHARE_MODES
# LIBSM = -lshadow
这两行的#号删除,将M a k e f i l e储存起来后,并直接在s o u r c e /这个目录执行:
ln -s /usr/include/linux/quota.h /usr/include/sys/quota.h
或者
ln -sf /usr/src/quota-1.51 quota
如果/ u s r / s r c /目录下没有q u o t a - 1 . 5 1,可以到光盘的q u o t a /目录下取得q u o t a - 1 . 5 1 . t a r. g z,然
后将它解开再l i n k即可。多做这两个步骤的原因是因为要包含q u o t a,所以编译时需要用到
q u o t a的s o u r c e。
Use this for Linux with quota and glibc2
g l i b c 2是G N U新开发出的C Library,所以若有使用g l i b c 2与q u o t a,请将下面选项的#号删除:
# FLAGSM = -DLINUX -DQUOTAS -DNO_ASMSIGNALH -DGLIBC2 -DFAST_SHARE_MODES
第6章建立I n t e r n e t站点用用155 下载
156使用L i n u x网站建设技术指南
下载
# LIBSM = -L/lib/libc5-compat-lcrypt
Use this for Linux with glibc2(1ibc6)
只有使用g l i b c 2的人,请将下面选项的#删除:
# F L A G S M = - D L I N U X - D N E T G R O U P - D S H A D O W _ P W D - D A L L O W _ C H A N G E _ P A S S W O R D
-DFAST_SHARE_MODES = 1 -DNO_ASMSIGNALH_DGLIBC2
# LIBSM = -lnsl -lcrypt
3) 在s o u r c e /执行“m a k e”
m a k e成功后会得到好几个可执行文件,但我们执行Samba Server 或c l i e n t最需要的应是
“s m b d”、“n m b d”这两个S a m b a的守护进程和“s m b c l i e n t”这个S a m b a的客户进程的执行文件
并生成。接着执行“ make install”,会将S a m b a的所有东西安装到/ u s r / l o c a l / s a m b a /这个目录,
就完成安装s a m b a了。若以前装过S a m b a,可以执行“ make revert”将旧的版本删除并安装新
版本的S a m b a。
# make
# make install(or make revert)
做完此3个步骤就完成编译h t t p d了。
以上只是编译S a m b a源代码的一般步骤,在RedhatLinux 中,根本不必如此麻烦,可以直
接使用RedhatLinux 光盘中捆绑的S a m b a - 2 . 0 . 3 - 8 . i 3 8 6 . r p m软件,因为它是R P M类型文件,无
须编译即可直接安装。
首先将光盘放入C D R O M中,可以执行
$ mount
$ cd /mnt/cdrom/
确认C D R O M已经M o u n t上,这时可以从光盘的/ R e d h a t L i n u x / R P M S /下取得S a m b a - 2 . 0 . 3 -
8 . i 3 8 6 . r p m这个r p m软件,然后用R P M将它解压缩进行安装, R P M这个安装软件可以将新软件
的source code重新整理包装成另外一种s o u r c e或b i n a r y的文件型式( . r p m ),这样一来可以免去
安装软件时编译发生错误所产生的不良后果。( R P M软件的详细介绍在本章最后一节。)执行
命令如下:
$ rpm -ivh Samba-2.0.3-8.i386.rpm
S a m b a # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
可以看出S a m b a的软件名称以及它的安装过程,等到#字符跑完,就是软件安装完成了。
安装完成后会自动在/ e t c / 这个目录下放置有产生S a m b a 的s a m b a . c o n f 配置文件,在
/ v a r / l o g / s a m b a /下面放置l o g . n m b文件,下面我们将详细谈如何进行设置。
6.4.3 设置Samba的配置文件
S a m b a的配置文件s m b . c o n f关系着Samba Server开放的权限、目录、打印机和机器所属的
组,所以它对Samba Server非常重要。在使用RedhatLinux 光盘自带的s m a b a压缩文件s a m b a -
2 . 0 . 3 - 8 . i 3 8 6 . r p m进行解压后,在e x a m p l e / s i m p l e /目录下就有一个s m b . c o n f的范例,请将它复制
到/ u s r / l o c a l / s a m b a / 1 i b /这个S a m b a预设读取s m b.c o n f的目录,另外/ e t c /下有一个s m b . c o n f.
d e f a u l t,这是完整的s m b.c o n f说明使用文件,也一并把它复制到/ u s r / l o c a l / s a m b a / 1 i b /。接着
我们开始修改s m b.c o n f。
为安全起见,我们首先还是把/etc / smb.c o n f文件复制成s m b.c o n f o l d,s m b.c o n f文件,
不管现在身在何处,只要身边有电脑的话,几乎都可以看到Wi n d o w s 9 5 / N T的踪影,因为
Wi n d o w s 9 5 / N T的G U I界面漂亮、直观、简单易用,不能不让人想使用它,但L i n u x的爱好者
喜欢L i n u x系统的开放和每天有挖掘不完的新东西,自己可以把L i n u x弄的千变万化,完全适
用于自己的电脑与本身的喜好。两种操作系统的优良特性如果能互相配合,那不是挺好的吗?
但是L i n u x与Wi n d o w s 9 5 / N T之间的连线只能靠T C P / I P,从Windows95/NT telnet到L i n u x或是用
f t p做文件传输而己! L i n u x虽然有N F S可以有效和Wi n d o w s 9 5 / N T相连,然而Wi n d o w s 9 5 / N T目
前似乎没有一套免费、易用的N F S软件可以和L i n u x沟通。两种操作系统之间似乎毫无关系!
但自从“S a m b a”出现后,从此为L i n u x和Wi n d o w s 9 5 / N T搭起友谊的桥梁了。
6.4.1 Samba是什么
基本上,S a m b a可以想成是一个局域网络上的File/Printer Server,可以提供文件系统、打
印机或是其他的信息并与Samba Server在同一个子网域( s u b n e t )的Samba client(如Wi n d o w s 9 5、
Wi n d o w s N T、Wa r p S e r v e r、s m b f s等)共享。因为它的基本工作原理是让N e t b i o s ( Wi n d o w s 9 5网
络邻居的通信协议)与SMA(Server Message Block)这两种协议运行在T C P / I P的通信协议上,且
使用Netbios nameserver 让你的L i n u x机器可以在网络邻居上被看到,所以L i n u x就可以和
Wi n d o w s 9 5 / N T在网络邻居上沟通,互相浏览分享文件了。也就是说, Smaba Server可以让你
的L i n u x变成如Novell Server一般,可以让Wi n d o w s 9 5的使用者用网络邻居分享L i n u x的文件和
打印机了。
6.4.2 安装Samba
S a m b a这套免费的软件里面包含了Samba Server和Samba Client,所以装好S a m b a后,不
只是可以提供资源给别人,同样也可以用Samba Client 去分享其他Samba Server 或是
Wi n d o w s 9 5 / N T网络邻居上的机器共享出来的资源。
基本上, S a m b a是为U N I X系统所发展的,但目前也有N e t Wa r e、Windows NT、O S / 2和
V M S版的S a m b a了,如果想尝试使用别的操作系统的S a m b a也是非常容易的一件事!而在使
用Red Hat Linux安装S a m b a之前,建议k e r n e l最好是用2 . 2 . 1 0版的,因为它针对S a m b a的b u g做
了些修正,在使用Samba client打印文件名时会稳定一些。
在Red Hat Linux下安装S a m b a是最简单不过的了,只要几个步骤就可以解决了。目前最
新版的S a m b a版本为2 . 0 . 3 p 8,表示2 . 0 . 3版p a t c h第8次。在Red Hat Linux发行版所附光盘中,
即捆绑有S a m b a - 2 . 0 . 3 - 8 . i 3 8 6 . r p m软件,你可以直接从光盘上安装。当然了,你也可以从其他
渠道(比如I n t e r n e t上S a m b a的主页: h t t p:/ / w w w. a p a c h e . o rg上下载A p a c h e的最新版本)获得
S a m b a软件,如果是S a m b a的源程序代码压缩文件,你首先得将它进行解压缩,然后进行编译
才可以使用。
以S a m b a - 1 . 9 . 1 7 p 2 . t a r. g z文件为例,讲一下编译的基本步骤: (如果使用Red Hat Linux 4.1
光盘中捆绑的S a m b a - 2 . 0 . 3 - 8 . i 3 8 6 . r p m软件,因为它是R P M类型文件,无须编译,可直接跳过
这一步骤)。
我们现在就开始安装S a m b a。请依照下列步骤完成:
1) 解压缩文件。
取得s a m b a - 1.9.1 7 p 2 . t a r. g z文件,然后随便找个目录将它解压缩,包文件解压缩后,直
接会产生目录s a m b a - 1.9.1 7 p 2 /:
# tar zxvf samba-1 .9.1 7 p 2 . t a r . g z
阅读安装说明文件,获取帮助,先看看R E A D M E,再到d o c s /下看看其他文件和执行:
# nroff -man smbd.8|less
# nroff -man nmbd.8|less
相信会得到非常多的帮助。
2) 进入s o u r c e /,编辑M a k e f i l e文件。
先看一下R E A D M E、I N S TA L L之类的文件,对于安装软件会有很大的帮助。因为S a m b a
可适用于多种U N I X操作系统,所以M a k e f i l e里面定义了非常多的U N I X系统,我们只要找出
定义L i n u x的部份,然后将#删除就可以了。而这一版S a m b a的M a k e f i l e里面对L i n u x有五种定
义情况,请选择一种。基于安全性考虑,建议用第三种方式包含有shadow passward与q u o t a来
编译S a m b a:
Use this for Linux with shadow passwords
先从M a k e f i l e中找到上面这一段字。假如系统有安装shadow password,就将M a k e f i l e里面
这一段的
# FLAGSM = -DLINUX -DSHADOW_PWD -DFAST_SHARE_MODES
# LIBSM = -lshadow
这两行的#号删除,然后储存M a k e f i l e进行第3步骤。
Use this for Linux without shadow passwords
假如你的系统没有安装shadow password,就将M a k e f i l e里面这一段的
# FLAGSM = -DLINUX -DAXPROC -DFAST_SHARE_MODES
# FLAGSM = -DLINUX -DFAST_SHARE_MODES
# LIBSM =
这三行的#号删除,然后储存M a k e f i l e进行第3步骤。
Use this for Linux with shadow passwords and quota
假如系统有安装shadow password和q u o t a的话,就将M a k e f i l e里面这一段
# FLAGSM = -O3 -m486 - DLINUX-DSHADOW_PWD - DQUOTAS -DFAST_ SHARE_MODES
# LIBSM = -lshadow
这两行的#号删除,将M a k e f i l e储存起来后,并直接在s o u r c e /这个目录执行:
ln -s /usr/include/linux/quota.h /usr/include/sys/quota.h
或者
ln -sf /usr/src/quota-1.51 quota
如果/ u s r / s r c /目录下没有q u o t a - 1 . 5 1,可以到光盘的q u o t a /目录下取得q u o t a - 1 . 5 1 . t a r. g z,然
后将它解开再l i n k即可。多做这两个步骤的原因是因为要包含q u o t a,所以编译时需要用到
q u o t a的s o u r c e。
Use this for Linux with quota and glibc2
g l i b c 2是G N U新开发出的C Library,所以若有使用g l i b c 2与q u o t a,请将下面选项的#号删除:
# FLAGSM = -DLINUX -DQUOTAS -DNO_ASMSIGNALH -DGLIBC2 -DFAST_SHARE_MODES
第6章建立I n t e r n e t站点用用155 下载
156使用L i n u x网站建设技术指南
下载
# LIBSM = -L/lib/libc5-compat-lcrypt
Use this for Linux with glibc2(1ibc6)
只有使用g l i b c 2的人,请将下面选项的#删除:
# F L A G S M = - D L I N U X - D N E T G R O U P - D S H A D O W _ P W D - D A L L O W _ C H A N G E _ P A S S W O R D
-DFAST_SHARE_MODES = 1 -DNO_ASMSIGNALH_DGLIBC2
# LIBSM = -lnsl -lcrypt
3) 在s o u r c e /执行“m a k e”
m a k e成功后会得到好几个可执行文件,但我们执行Samba Server 或c l i e n t最需要的应是
“s m b d”、“n m b d”这两个S a m b a的守护进程和“s m b c l i e n t”这个S a m b a的客户进程的执行文件
并生成。接着执行“ make install”,会将S a m b a的所有东西安装到/ u s r / l o c a l / s a m b a /这个目录,
就完成安装s a m b a了。若以前装过S a m b a,可以执行“ make revert”将旧的版本删除并安装新
版本的S a m b a。
# make
# make install(or make revert)
做完此3个步骤就完成编译h t t p d了。
以上只是编译S a m b a源代码的一般步骤,在RedhatLinux 中,根本不必如此麻烦,可以直
接使用RedhatLinux 光盘中捆绑的S a m b a - 2 . 0 . 3 - 8 . i 3 8 6 . r p m软件,因为它是R P M类型文件,无
须编译即可直接安装。
首先将光盘放入C D R O M中,可以执行
$ mount
$ cd /mnt/cdrom/
确认C D R O M已经M o u n t上,这时可以从光盘的/ R e d h a t L i n u x / R P M S /下取得S a m b a - 2 . 0 . 3 -
8 . i 3 8 6 . r p m这个r p m软件,然后用R P M将它解压缩进行安装, R P M这个安装软件可以将新软件
的source code重新整理包装成另外一种s o u r c e或b i n a r y的文件型式( . r p m ),这样一来可以免去
安装软件时编译发生错误所产生的不良后果。( R P M软件的详细介绍在本章最后一节。)执行
命令如下:
$ rpm -ivh Samba-2.0.3-8.i386.rpm
S a m b a # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
可以看出S a m b a的软件名称以及它的安装过程,等到#字符跑完,就是软件安装完成了。
安装完成后会自动在/ e t c / 这个目录下放置有产生S a m b a 的s a m b a . c o n f 配置文件,在
/ v a r / l o g / s a m b a /下面放置l o g . n m b文件,下面我们将详细谈如何进行设置。
6.4.3 设置Samba的配置文件
S a m b a的配置文件s m b . c o n f关系着Samba Server开放的权限、目录、打印机和机器所属的
组,所以它对Samba Server非常重要。在使用RedhatLinux 光盘自带的s m a b a压缩文件s a m b a -
2 . 0 . 3 - 8 . i 3 8 6 . r p m进行解压后,在e x a m p l e / s i m p l e /目录下就有一个s m b . c o n f的范例,请将它复制
到/ u s r / l o c a l / s a m b a / 1 i b /这个S a m b a预设读取s m b.c o n f的目录,另外/ e t c /下有一个s m b . c o n f.
d e f a u l t,这是完整的s m b.c o n f说明使用文件,也一并把它复制到/ u s r / l o c a l / s a m b a / 1 i b /。接着
我们开始修改s m b.c o n f。
为安全起见,我们首先还是把/etc / smb.c o n f文件复制成s m b.c o n f o l d,s m b.c o n f文件,