⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1565.html

📁 著名的linux英雄站点的文档打包
💻 HTML
📖 第 1 页 / 共 5 页
字号:
第四章介绍的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 = $(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>
使用这些工具,确定你已经安装了smb-client软件包。<br>
  <br>
  smbclient是一个基本的访问Windows 共享目录的软件,例如,假设你的Windows共享<br>
机器是WINWS,共享目录是PUBLIC,那么可以这样执行smbclient:<br>
  <br>
  smbclient //WINWS/PUBLIC<br>
  <br>
  然后出现提示:<br>
  <br>
  added interface ip=202.199.248.6 bcast=202.199.248.255 nmask=255.255.255.0<br>
  <br>
  Got a positive name query response from 202.199.248.5 ( 202.199.248.5 )<br>
  <br>
  Password:<br>
  <br>
  如果是不需要口令的系统,直接回车,否则,按照你当前的Linux用户名输入对应的口<br>
令,然后出现smbclient的提示符:<br>
  <br>
  smb: &gt;<br>
  <br>
  在这个提示符下面可以输入命令,help显示所有可用的命令,用法颇类似于ftp,使用完<br>
毕之后,输入quit退出。<br>
  <br>
  smbclient的常用命令有:<br>
  <br>
  cd [目录名] 改变目录<br>
  <br>
  del [文件名] 删除文件<br>
  <br>
  dir 显示目录<br>
  <br>
  get [文件名] 从服务器下载文件并且存放到本地目录<br>
  <br>
  lcd [目录名] 改变本地目录<br>
  <br>
  mget [一组文件] 取得成组文件<br>
  <br>
  put [文件名] 上载文件<br>
  <br>
  recurse 激活递归模式,在这个模式下可以连子目录一起操作<br>
  <br>
  mput [一组文件] 成组上载文件<br>
  <br>
  rmdir 删除目录<br>
  <br>
  mkdir 建立目录<br>
  <br>
  上面是smbclient的一般用法。如果你想明确地给出用户名和口令,使用-U参数,例如<br>
,用户名test,口令passwd应该给出为<br>
  <br>
  smbclient //WINWS/PUBLIC –U test%passwd<br>
  <br>
  另外几个常用的smbclient命令行参数是这样:<br>
  <br>
  -I [ip地址]显式给出目标服务器的IP地址,由于在smbclient中使用的是netbios名字<br>
,所以有时可能出现无法查询到计算机的情况,在这种情况下,可以通过-I选项给出IP<br>
。<br>
  <br>
  -L [host] 这个选项显示指定机器上的共享资源列表,例如,smbclient –L //WINW<br>
S<br>
  <br>
  -W [工作组名] 在登录时指定工作组名字或者域名<br>
  <br>
  -N 不使用口令<br>
  <br>
  另外一种使用Windows 9x文件服务的方法是使用smbmount,它的基本语法是<br>
  <br>
  smbmount //机器名/共享目录名 –c 'mount 连接点'<br>
  <br>
  这是目前的smbmount的语法,例如,要将前面说的//WINWS/PUBLIC连接到本地的/net<br>
目录,命令是<br>
  <br>
  smbmount //WINWS/PUBLIC –c 'mount /net'<br>
  <br>
  以后/net下的内容就是//WINWI/PUBLIC的内容。<br>
  <br>
  这个命令支持-U,-P(给出口令),-n(禁止口令),-D(给出NT域)等选项。<br>
  <br>
  要使用共享打印机,需要使用smbprint。可以将smbprint作为一个输入过滤器,例如<br>
,可以将/etc/printcap配置成这样:<br>
  <br>
  smblp:<br>
  <br>
     :sd=/var/spool/samba:<br>
  <br>
     :af=/var/spool/samba/smbprintacc:<br>
  <br>
     :if=/usr/bin/smbprint:<br>
  <br>
     :lp=:<br>
  <br>
  然后需要建立smbprint配置文件,例如在现在的情况下,smbprint位于/usr/bin下,<br>
需要建立/usr/bin/.config文件,内容如下:<br>
  <br>
  $ cat .config<br>
  <br>
   server=ASNC      <br>
  <br>
  #服务器的名字<br>
  <br>
  service=HPLIII<br>
  <br>
   #共享打印机的共享名<br>
  <br>
  password="pass"<br>
  <br>
  #使用口令为pass<br>
  <br>
  然后就可以用lpr命令打印了。<br>
<br>
  <br>
  5.2.5 WINS和NetBIOS<br>
  <br>
  熟悉Windows NT的用户会知道,windows 用NetBIOS名字在网络上确定机器,但是在互<br>
连网络中人们用DNS名字,两个名字可能会不一致;另外,NetBIOS名字的传播是依靠广播<br>
机制,也就意味着Windows 系统的名字不能跨越子网和路由器,对于大型网络这是非常<br>
讨厌的事情。Microsoft使用WINS(windows 通用命名服务)来解决这两个问题。<br>
  <br>
  WINS Server通常是一台Windows NT服务器,Windows 客户机器通过它彼此交换自己的<br>
NetBIOS名字,因为WINS服务器是通过IP地址访问的,所以使用同一个WINS的机器无论物<br>
理上是否处于同一个网段内都可以直接在网络邻居内看到。<br>
  <br>
  要将samba配置成WINS 服务器,在[global]段落中使用下面的两行:<br>
  <br>
  wins support = yes<br>
  <br>
  以后将windows 客户机的WINS地址设置成samba机器就可以了。例如:<br>
  <br>
 <br>
  <br>
  图5.4 启用wins<br>
  <br>
  如果要让samba使用已有的WINS服务,使用<br>
  <br>
  wins server = [WINS服务器地址]<br>
  <br>
  在使用已有的wins服务器的情况下,可以将samba当成一个wins代理来使用。wins代理<br>
实际上也是一个wins服务器,但是它是从某个主wins服务器取得名字信息,然后广播给<br>
别的机器,这可以让netbios名字广播给别的机器。<br>
  <br>
  要将samba配置成为wins代理,只要设置这样的一行:<br>
  <br>
  wins proxy = yes<br>
  <br>
  不要忘记同时应该给出主wins服务器的地址。<br>
  <br>
  5.3 DHCP<br>
  <br>
  DHCP即Dynamic Host Configuration Protocol (动态主机配置协议),它用于给子网<br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -