📄 局域网服务器.htm
字号:
=<BR><BR>设置有意义的用户名和口令的长度,通常应该设置为8。<BR><BR>unix
password sync =
<BR><BR>除非你非常熟悉samba和windows,否则将它设置为no(缺省值),这个选项允许你通<BR>过修改windows口令来更改UNIX口令。与它相关的还有两个选项,你可以自己看一下缺省<BR>的smb.conf范例。<BR><BR>interfaces
=
<BR><BR>告诉samba使用正确的广播方式,例如,你的samba服务器在一个C类网202.111.1.0中<BR>工作,将它设置为intefaces
= 202.111.1.0
/24,通常只有当你有多片网卡时才需要使<BR>用这个选项。<BR><BR>remote
annouce =
<BR><BR>这个选项告诉samba在什么范围内广播它的信息,例如remote annouce
= 202.111.1.<BR>0/24。<BR><BR>host allow =
<BR><BR>这个选项告诉samba允许那些机器使用你的共享服务,例如host allow =
202.111.1.<BR>表示202.111.1.0-202.111.1.255。<BR><BR>log
file
=<BR><BR>将它设置为你想要记录samba工作信息的目录加上一个.%m。这样可以使samba区分出不<BR>同客户机器来的请求,例如log
file = /var/log/samba/log.%m。<BR><BR>local
master =
<BR><BR>如果想要你的samba服务器成为局域网的主浏览器,设置为yes。<BR><BR>domain
master
=<BR><BR>如果你想要samba系统作为主域控制器,设置为yes。不过你要注意,samba的主域控制<BR>器不能接受NT的请求,实际上,只有当你的系统中全是windows
95时,这个选项才有意<BR>义。如果你要让windows
95客户机器把samba当成NT域来登录,将它设置成yes,并且设<BR>置security
=domain以及domain logons
=yes。否则,简单地将它设置成no。<BR><BR>domain logons
=<BR><BR>见domain master选项。<BR><BR>wins support =
<BR><BR>如果你想要你的samba成为一个wins
server(见后),将它设置成yes,否则设置成n<BR>o。<BR><BR>wins
server = <BR><BR>如果你的系统中有一个NT被配置成了wins
server,给出它的IP。例如,wins
server<BR>=202.111.1.48。<BR><BR>max disk size =
<BR><BR>这个选项给出samba可以使用的最大磁盘空间,单位是MB。例如max disk
size = 100<BR>0。如果设置为0则不进行任何限制。<BR><BR>max log
size = <BR><BR>设置最大的记录文件大小,单位是kb。<BR><BR>max
open files =<BR><BR>最多可以同时打开的文件数,例如max open
files = 1000<BR><BR>preserve case =
<BR><BR>short preserve case = <BR><BR>default
case = <BR><BR>case sensitive =
<BR><BR>这几个选项用来设置samba的大小写设置,preserve case和short
preserve case
两<BR>个选项设置samba在处理文件是是否保留大小写,缺省是no。default
case是建立文件时<BR>的缺省大小写,缺省情况下是lower(小写)。最后一个case
sensive最为重要,它表示s<BR>amba在处理文件的时候是否区分大小写,缺省是no,表示不区分,如果你修改这个定义<BR>,一定要小心,因为许多DOS软件不认识小写文件名字!<BR><BR>建立共享目录<BR><BR>上面已经建立了一个可以由所有人共享使用的目录,在windows
9x下它被显示成publ<BR>ic,也可以设置其他的共享目录。<BR><BR>我们首先看一看[public]的格式:<BR><BR>[public]<BR><BR>comment
= public files<BR><BR>public = yes<BR><BR>path =
/ftp<BR><BR>browseable = yes<BR><BR>writable =
no<BR><BR>comment是注释,就是在网络邻居里看到的说明,public = yes
说明这个目录可以被<BR>一切用户共享,browsable是一个bool变量,当前它等于yes,表示这个目录将在网上邻<BR>居里显示出来并且被所有人看到。<BR><BR>writable设定这个目录是否可写,另外一个用法是read
only,上面的这一行也可以写<BR>成read only =
yes。<BR><BR>path=/ftp设定了这个目录在服务器上的位置。不要忘记把这个目录设置成大家都可以<BR>读的属性。<BR><BR>在security=share的时候,我们只能使用共享目录。而在security
=
user的情况下,<BR>我们通常可以设置从网络上使用宿主目录,这方面,Linux用一个专门的[homes]段落来<BR>设置它:<BR><BR>[homes]<BR><BR>comment
= Home Directories<BR><BR>browseable =
no<BR><BR>public = no<BR><BR>writable =
yes<BR><BR>create mask =0740<BR><BR>设置browsable
=
no使得别人无法看到这个共享项的存在,但是你用网络邻居功能打<BR>开这个机器时却会根据你的用户名自动把宿主目录显示出来,其他选项的意思和上面完<BR>全一样。注意[homes]段落不需要path语句,而且显示的时候也不显示成home,而是直接<BR>显示宿主目录名字。这个[homes]是不能改变的。<BR><BR>注意create
mask选项,它表示通过网络邻居建立的文件的缺省属性。<BR><BR>还可以设置私有的目录,例如,想建立一个共享目录,共享名字为somewhere,映射到<BR>/somewhere,但是只能由wanghy,root和someone三个用户使用,那么可以这样设置:<BR><BR>[somewhere]<BR><BR>comment
= some where only for wanghy root
someone<BR><BR>path = /somewhere<BR><BR>valid
users = wanghy root someone<BR><BR>public =
no<BR><BR>writable = yes<BR><BR>printable =
no<BR><BR>create mask = 0765<BR><BR>valid
users选项设置合法的用户,同样还可以使用+或者&,@选项来设置一个完整的<BR>组为合法用户,例如@test表示test组的成员,三者的主要区别是+从本地得到组信息,<BR>&从NIS服务得出组信息,而@则两个都用。当然,不要忘记将/somewhere设置成wanghy,<BR>root和someone可以访问的属性。<BR><BR>当使用share认证方式共享一个大家都可以写的目录时必须小心,因为通常share模式<BR>当客户连接的时候实际使用的是guest用户,所以可能需要设置对应目录的guest
ok
=y<BR>es。另外,对应目录必须是全局可写的。<BR><BR>共享打印机<BR><BR>最后的内容是共享打印机,这可以通过使用[printers]段落完成,例如,下面的段落<BR>启用了网络打印机,它只能由wanghy用户使用:<BR><BR>#
specifically define each individual
printer<BR><BR>[printers]<BR><BR>comment = All
Printers<BR><BR>path =
/var/spool/samba<BR><BR>browseable = no<BR><BR>#
Set public = yes to allow user 'guest account'
to print<BR><BR>guest ok = no<BR><BR>writable =
no<BR><BR>printable = yes<BR><BR>print
command=lpr –r %s<BR><BR>valid users =
wanghy<BR><BR>注意如果要使用samba的打印服务,必须确定global中的load
printers =
yes并且pr<BR>inting应该设置为BSD。而且,由于windows
95的工作方式,你必须考虑远端打印机是如<BR>何配置的。如果samba打印机不使用过滤,那么你需要在windows
95客户机器上安装打印<BR>机的驱动程序,然后直接发送过去就可以了。print
command是打印时调用的打印命令,<BR>注意许多配置工具(例如swat)会把它写成一个print
command = lpr –r –P %p
%s,<BR>但是很多情况下smbd都不会提交正确的打印机设备名字,你需要手工改成上面的形式或<BR>者用打印机的名字代替%p参数。<BR><BR>在更多的情况下,Linux的samba打印机使用一个PostScript过滤器,比如使用我们在<BR>第四章介绍的GhostScript程序,那么,在客户看来,这个打印机将是一个PostScript打<BR>印机,所以这时无论实际的打印机是什么,你都需要在Windows
95客户上将这个打印机<BR>设置成为PostScript打印机(非常有趣,哪一种PostScript打印机无所谓,只要是Post<BR>Script而且幅面大小一样就行了)。<BR><BR>总之,你可以任意设置samba的各种服务,提供任意多的共享文件和目录。基本方式就<BR>是按照上面的段落格式,每一段给出一个共享目录。<BR><BR>编辑完毕后,用testparm程序验证是否有错误的行:<BR><BR>[root@openlab
bin]# testparm<BR><BR>Load smb config files from
/etc/smb.conf<BR><BR>Processing section
"[public]"<BR><BR>Processing section
"[homes]"<BR><BR>Loaded services file
OK.<BR><BR>Press enter to see a dump of your
service
definitions<BR><BR>testparm程序自动校验/etc/smb.conf的各个共享段落,然后按下回车键将把这个文件<BR>显示一遍。<BR><BR>如同刚才说的那样,可以用smbd
–D和nmbd
–D启动samba,也可以使用ntsysv程序,<BR>使用方法和nfs类似,这里不再详细叙述了。<BR><BR>如果要察看samba的运行状态,使用smbstatus:<BR><BR>#
smbstatus<BR><BR><BR>Samba version
pre-2.0.7<BR><BR>Service uid gid pid
machine<BR><BR>----------------------------------------------<BR><BR><BR>No
locked files<BR><BR><BR>Share mode memory usage
(bytes):<BR><BR>1048464(99%) free + 56(0%) used
+ 56(0%) overhead = 1048576(100%)
total<BR><BR>5.2.2
swat程序<BR><BR>想了解samba,可以看smb.conf的手册页面,如man
smb.conf。但是这确实不太方便。<BR>而且samba的语法也在不断改变以便跟上Windows
NT的发展。为了简化samba的配置,Sa<BR>mba在其中包含了一个可以通过浏览器进行smb配置的工具,这个程序的名字叫swat。<BR><BR>要使用swat,首先必须将它配置成一个服务器进程,这可以更改/etc/services和/et<BR>c/inetd.conf来实现。首先要为swat分配一个端口,例如在/etc/services中加入这样一<BR>行:<BR><BR>swat
901/tcp<BR><BR>901是我们通常给swat分配的端口。<BR><BR>接下来,在/etc/inetd.conf中启动swat,可以加入这样一行:<BR><BR>swat
stream tcp nowait.400 root /usr/sbin/swat
swat<BR><BR>重新启动inetd:<BR><BR>kill –HUP
inetd<BR><BR>然后,在浏览器中输入你的Linux机器的地址,比如Linux机器的IP是166.111.111.11<BR>1,那么可以输入http://166.111.111.111:901/,注意901和http://都是不可省略的。<BR><BR>然后将出现登录窗口:<BR><BR><BR><BR>图5.2
swat登录<BR><BR>用户名为root,口令输入超级用户口令,输入后,将出现swat的配置屏幕:<BR><BR><BR><BR>图5.3
swat<BR><BR>每一个标题都代表一组设置,可以用这个界面直接配置samba。特别是,可以在这个界<BR>面里看到smb的手册页面。<BR><BR>需要注意的是,由于swat程序生成smb.conf的时候会自动删除原来的smb.conf,因此<BR>你应该先备份原来的smb.conf文件。另外,swat使用明文传送用户名和口令,意味着你<BR>的系统口令可能被监听到,所以一定要注意安全。<BR><BR>5.2.3
重新编译samba<BR><BR>samba总是在不断地更新中,你应该尽量获得samba的最新版本。然而,由于samba是一<BR>个通用的UNIX程序,你能得到的通常都是源代码,下面我们解释一下如何重新编译samb<BR>a。<BR><BR>其实编译samba和编译
任何Linux源代码的方法都是一样的,问题在于,为了保证sam<BR>ba在System
V和BSD上都能够使用,缺省的samba安装目录是/usr/local/samba,相应的<BR>配置文件也不是在/etc,而是/usr/local/samba/lib。为此,你首先应该执行配置程序<BR>。在配置程序中,你可以设定各种目标目录,设定的命令可以用help参数得到:<BR><BR>./configure
–help
|less<BR><BR>这可以显示用什么命令更改缺省目录,例如-bindir=/usr/bin,--sbindir=/usr/sbi<BR>n等等。<BR><BR>不过,就我个人来说,我更喜欢直接手工编辑产生的Makefile文件,改变里面的目录<BR>名字,例如,下面是我改动的方法:(注意加粗的部分)首先执行./configure,然后编<BR>辑Makefile:<BR><BR>........<BR><BR>prefix=/usr/local/samba<BR><BR>exec_prefix=${prefix}<BR><BR>mandir=${prefix}/man<BR><BR>.........<BR><BR>srcdir=.<BR><BR>builddir=/root/samba-pre2.0.7/source<BR><BR>SHELL=/bin/sh<BR><BR><BR>BASEDIR=
/usr/local/samba<BR><BR>BINDIR =
/usr/bin<BR><BR># we don't use sbindir because
we want full compatibility with<BR><BR># the
previous releases of Samba<BR><BR>SBINDIR =
/usr/sbin<BR><BR>LIBDIR =
${exec_prefix}/lib<BR><BR>VARDIR =
/var/log/samba<BR><BR>MANDIR =
/usr/man<BR><BR>CONFIGDIR =
/etc<BR><BR>SMBLOGFILE =
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -