📄 00000009.htm
字号:
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,那么可以输入<A HREF="http://166.111.111.111:901/,注意901和http://都是不可省略的。">http://166.111.111.111:901/,注意901和http://都是不可省略的。</A> <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 = $(VARDIR)/log.smb <BR> <BR> NMBLOGFILE = $(VARDIR)/log.nmb <BR> <BR> CONFIGFILE = $(CONFIGDIR)/smb.conf <BR> <BR> LMHOSTSFILE = $(CONFIGDIR)/lmhosts <BR> <BR> DRIVERFILE = $(CONFIGDIR)/printers.def <BR> <BR> PASSWD_PROGRAM = /bin/passwd <BR> <BR> 最后再make,make install就可以了。 <BR> <BR> 5.2.4 从Linux使用windows 文件服务 <BR> <BR> 通常我们总是从windows 9x来访问Samba共享文件,但是,在个别的情况下,偶尔也需 <BR>要使用Linux访问Windows 9x/NT的共享目录,这是通过smbclient和smbmount实现的。要 <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -