📄 00000009.htm
字号:
:af=/var/log/lpc:\ <BR> <BR> :lp=/dev/lp0: <BR> <BR> 其中定义了某一台打印机的名字是net_lp,net_lp直接连接到openlab.asnc.edu.cn上 <BR>,想允许myhost.asnc.edu.cn打印到net_lp,那么可以直接在/etc/hosts.lpd中写上: <BR> <BR> myhost.asnc.edu.cn <BR> <BR> 然后重新启动lpd程序,就可以允许myhost上的用户打印了。 <BR> <BR> 必须注意的一个问题是,实际存在两个文件,都可以用来允许远程打印,一个是我们 <BR>刚才说的/etc/hosts.lpd,另一个比较微妙,它是/etc/hosts.equiv。关于后者的详细 <BR>情况,我们在研究远程X的时候讨论。 <BR> <BR> 为了使myhost能够自动将打印作业发向openlab,需要设置myhost上的/etc/printcap <BR>文件,主要是提供rp和rm变量,它们分别代表远程打印机和远程机器,例如,可以将my <BR>host的/etc/printcap设置成 <BR> <BR> lp:\ <BR> <BR> :sd=/var/spool/lpd/lp:\ <BR> <BR> :mx#0:\ <BR> <BR> :sh:\ <BR> <BR> :lp=:\ <BR> <BR> :rm=openlab.asnc.edu.cn:rp=net_lp:\ <BR> <BR> :if=/var/spool/lpd/lp/filter: <BR> <BR> 这里将本地打印机设置为空,远地服务器设置为openlab,远程打印机设置为openlab <BR>上的打印机名字,于是就可以使用openlab上的net_lp进行打印了。 <BR> <BR> 通常打印用lpr命令实现,在前面我们已经介绍了这个命令的用法。在打印服务器的情 <BR>况下,经常会有大量的打印事务需要处理,为此,BSD打印系统使用一些命令进行打印队 <BR>列的管理,主要的是lpq,lprm和lpc。 <BR> <BR> lpq命令可以显示当前的打印队列: <BR> <BR> [root@mail /etc]# lpq <BR> <BR> Rank Owner Job Files Total Size <BR> <BR> 1st root 21 mail.rc 112 bytes <BR> <BR> 2nd root 22 ftphosts 104 bytes <BR> <BR> 注意job一栏的数值,这个值是打印作业号,你可以用lprm命令将某个作业删除: <BR> <BR> [root@mail /etc]# lprm 21 <BR> <BR> dfA021A7xsgvf dequeued <BR> <BR> cfA021linux.asnc.edu.cn dequeued <BR> <BR> lprm后面跟作业号,注意lprm命令非常奇怪,它正常完成是要输出信息的。 <BR> <BR> 可以使用lpc程序对打印队列进行更精细的管理,输入lpc之后会出现lpc>,这是lpc的 <BR>提示符,可以输入各种命令,用help命令可以获得帮助,quit命令退出。 <BR> <BR> $lpc <BR> <BR> lpc> help <BR> <BR> Commands may be abbreviated. Commands are: <BR> <BR> <BR> abort enable disable help restart status topq ? <BR> <BR> clean exit down quit start stop up <BR> <BR> lpc> <BR> <BR> 注意lpc是一个很恶心的程序,个人看来一般还是使用lpq和lprm,killall lpd的办法 <BR>比较好,如果你一定要使用lpc,那就慢慢研究吧,:PP。 <BR> <BR> 5.2 Samba服务器 <BR> <BR> 实际上,NFS的用处并不多,一般,当我们要建立一个庞大的服务器集群来对付email <BR>或者www服务时,我们用NFS来实现目录的共享。在一般情况下,我们的客户机器总是wi <BR>ndows,这种情况下,可以用samba来实现集成。 <BR> <BR> samba是一个免费的UNIX应用程序,用来使一台UNIX机器可以象Windows NT一样为win <BR>dows 9x机器提供文件和打印服务。不过,确实它还不能完全提供NT的功能,然而它非常 <BR>小巧而高效。 <BR> <BR> 要使用samba,你必须安装跟samba相关的软件包,软件包通常包括几个,即samba、s <BR>amba-common和samba-client,后者用于从Linux访问windows 9x的共享文件。你可以到 <BR>自己的发行版本里去查找对应的文件并且安装。当然,如果你按照我们的建议那样安装 <BR>了所有的程序,那么就无需再手工安装了。 <BR> <BR> 5.2.1 在windows环境中集成Linux <BR> <BR> 现在我们来解释如何将Samba做成一个可以被windows 9x访问的文件服务器。这是通过 <BR>/usr/sbin/smbd守护进程实现的。smbd可以直接从命令行启动,但是在这之前必须先设 <BR>置一些内容。 <BR> <BR> smbd的控制文件是/etc/smb.conf,这个文件的内容很长,是一个文本文件,与普通的 <BR>配置文件不同的是它使用分号为注释行,通常在/etc下已经有了一个smb.conf的例子, <BR>如果你不小心把它删除了,那么在/usr/doc/samba-2.0.3/examples下还有一个名叫smb <BR>.conf.default的例子(2.0.3是版本号)。 <BR> <BR> 现在我们自己来构做一个最简单的smb.conf,你可以先备份缺省的/etc/smb.conf,然 <BR>后按照下面的例子构做一个/etc/smb.conf文件,也可以按照我们下面解释的那样对缺省 <BR>的smb.conf进行编辑: <BR> <BR> 下面是这个文件的内容: <BR> <BR> # cat smb.conf <BR> <BR> [global] <BR> <BR> workgroup=ASNC <BR> <BR> load printers = no <BR> <BR> encrypt passwords=no <BR> <BR> security=share <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> 然后你需要启动smbd和nmbd,后者用来在网络上广播机器的名字,首先察看/etc/ser <BR>vices文件,看看是否有类似这样的内容: <BR> <BR> netbios-ns137/tcp# NETBIOS Name Service <BR> <BR> netbios-ns137/udp <BR> <BR> netbios-dgm138/tcp# NETBIOS Datagram Service <BR> <BR> netbios-dgm138/udp <BR> <BR> netbios-ssn139/tcp # NETBIOS session service <BR> <BR> netbios-ssn139/udp <BR> <BR> 如果没有就加上去,然后,启动smbd和nmbd: <BR> <BR> smbd –D <BR> <BR> nmbd –D <BR> <BR> -D选项用于将这两个程序设置成daemon服务进程。 <BR> <BR> 现在,就可以从windows 9x客户机访问Linux的共享目录了,由于netbios广播机器名 <BR>字需要一定的时间,可能不能马上在网络邻居看到,这时你可以用windows 9x的“查找 <BR>计算机”功能查询一下Linux机器的IP,就可以找到了。例如: <BR> <BR> <BR> <BR> 图5.1 查找到的samba机器 <BR> <BR> 以后的操作就象操作一台windows机器的共享目录一样。要注意的是,由于smbd程序按 <BR>照客户连接的身份将请求提交给服务器,所以除了在[public]段落中设置的共享属性之 <BR>外,要使得这个共享真正生效,还要把对应目录(/ftp)的属性设置成755,只有同时满 <BR>足smb的共享权限和UNIX用户权限的目录和文件才能真正被网络邻居访问。 <BR> <BR> 下面我们来解释一下smb.conf中设置的这些内容,smb.conf文件被分成了若干段落, <BR>用方括号扩住的一行标志着一个段落的开始,段落有两种,一种是[global]段落,用来 <BR>设置一些基本参数,另一种就是用来共享某个路径的段落,例如刚才的[public]。 <BR> <BR> [global]段落中可以设置许多信息,详细的内容可以参考samba的文档,对我们来说, <BR>最重要的是这样一些设置: <BR> <BR> workgroup = <BR> <BR> 这个选项用来设置你的windows系统的工作组名字或者NT域的名字。 <BR> <BR> netbios name = <BR> <BR> 设置在网上邻居里面看到的机器名,如果没有,将使用机器的DNS名字。 <BR> <BR> security和身份验证 <BR> <BR> security = <BR> <BR> 这个选项设置身份验证机制,即如何对用户验证身份,目前版本支持四个选项,即sh <BR>are,user,server和domain选项。 <BR> <BR> share选项就是我们刚才使用的,windows 9x客户可以直接访问共享目录,不需要给出 <BR>密码。另外几种选项都需要提供用户名和密码。 <BR> <BR> 如果security = user方式,那么系统将使用类似UNIX的账号管理机制来处理这个问题 <BR>,你需要同时定义一个口令文件,用来存放samba的用户。 <BR> <BR> 例如,与上面的配置相同,但是需要验证用户身份的smb.conf中的golobal段落是(注 <BR>意加粗部分): <BR> <BR> [global] <BR> <BR> workgroup = ASNC <BR> <BR> load printers = no <BR> <BR> encrypt passwords=yes <BR> <BR> smb passwd file = /etc/smbpasswd <BR> <BR> security=user <BR> <BR> username map = /etc/smbusers <BR> <BR> <BR> 这里需要注意的是encrypt passwords选项,这个选项表示登录过程中以加密方式传递 <BR>口令,对于windows 98和windows NT 4.0,这个选项必须置成yes,对于windows95正好 <BR>相反,要设置成no,因为windows 95直接传递明文的口令。如果你的系统中同时有wind <BR>ows 95和windows 98,需要将windows 98设置成传递明文,例子可以参考/usr/doc/sam <BR>ba-2.0.3/docs下的几个reg文件(其实只要双击正确的reg文件就OK了)。 <BR> <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -