免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1265 | 回复: 0
打印 上一主题 下一主题

FreeBSD连载(69):使用smbclient访问Windows资源 [复制链接]

论坛徽章:
2
丑牛
日期:2013-09-29 09:47:222015七夕节徽章
日期:2015-08-21 11:06:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-03 17:04 |只看该作者 |倒序浏览

访问Windows系统资源
  通过配置Samba服务器,可以提供Windows客户机来访问FreeBSD系统上共享的资源。也能够在 FreeBSD上通过SMB协议访问Windows系统上的共享资源。只是习惯上Unix计算机用做服务器,Windows 计算机用做客户机,很少有让Unix访问Windows计算机的需要。但是越来越多的计算机使用者不但使用 Unix作服务器,也使用Unix来处理很多其他任务,那么就可能会需要访问其他Windows计算机上的资源。


  • 使用smbclient访问Windows资源

        samba软件中用于访问网络上其他SMB资源的软件为smbclient,它是一个类似于ftp操作方式,通过远程操作的方式进行文件传递的软件。为了获得网络上可以访问的计算机列表,首先需要使用 smbclient来获得一个Windows计算机共享出来的资源,这需要使用-L参数访问IPC$资源,对于使用用户级认证的Windows NT或Samba服务器,可以使用-N参数指定使用空口令登录,或者使用-U%参数,使用空用户名和空口令访问服务器:
      $ smbclient -L windows_host -N
        如果没有使用-N或-U%,smbclient将提示口令,一般可以直接回车,也可以给予正确的口令。因为一般计算机均允许匿名浏览IPC$资源,即能给所有的计算机提供自己所了解的浏览数据。smbclient将显示一个浏览数据列表和该机的共享资源列表。
        如果不清楚一个Windows计算机的NetBIOS名字,可以使用-I加要访问计算机的IP地址来代替-L 参数及使用的NetBIOS名字。或者可以使用nmblookup先来解析NetBIOS名字。
      $ nmblookup fbsdsrv
      Sending queries to 192.168.3.255
      192.168.3.1 fbsdsrv
        要想使用smbclient来访问windows时,也需要使用UNC来标识Windows资源的位置。此时就需要了解 Windows UNC在Unix下进行表示的不同之处。不同之处在于Unix的shell下反斜线为特殊字符,它被定义为转义恢复字符,表示将一些转义字符恢复为其本身字符的意义。因此必须使用两个反斜线才能等同于一个反斜线。因此一个UNC实际使用时应使用双倍的反斜线。
      $ smbclient \\\\localhost\\wb -U wb
      Added interface ip=192.168.3.1 bcast=192.168.3.255 nmask=255.255.255.0
      Password:
      Domain=[MYGROUP] OS=[Unix] Server=[Samba 2.0.2]
      smb: \> help
      ls             dir            du             lcd            cd
      pwd            get            mget           put            mput
      rename         more           mask           del            rm
      mkdir          md             rmdir          rd             prompt
      recurse        translate      lowercase      print          printmode
      queue          cancel         quit           q              exit
      newer          archive        tar            blocksize      tarmode
      setmode        help           ?              !
      smb: \> quit
        然后就可以使用与ftp相似的命令,如dir,cd,get,put等命令来传输文件。
        Samba可以用于帮助备份Windows系统,除了使用smbclient之外,Samba还提供了一个 shell脚本smbtar,它使用smbclient以及tar,直接将Windows系统中的文件备份到FreeBSD 系统中的磁带设备中。
        要使用Windows下的打印机资源,要首先使用smbclient以将打印文档发送给Windows计算机,并执行print命令。samba软件包中提供了一个shell脚本smbprint用来使用合适的命令帮助FreeBSD 将打印文件发送给Windows打印机。FreeBSD下这个脚本被安装到/usr/local/share/examples/samba/printing 目录下,可以根据需要将这个脚本复制到/usr/local/bin或其他目录下,提供给用户使用。
        对于经常使用的Windows打印机,还可以在printcap文件中为它增加一个入口,使用smbprint 作过滤器,这样就将打印输出直接交给smbprint,用户不必手工进行控制,而是直接使用FreeBSD系统的打印系统lpr等命令进行打印和管理。这样还可以将这台FreeBSD计算机用做一个打印网关,所有的支持LPD方式打印的Unix均可通过这台服务器的smbprint打印机入口,将打印文档发送给Windows打印机。


      本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4206/showart_516526.html
    • 您需要登录后才可以回帖 登录 | 注册

      本版积分规则 发表回复

        

      北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
      未成年举报专区
      中国互联网协会会员  联系我们:huangweiwei@itpub.net
      感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

      清除 Cookies - ChinaUnix - Archiver - WAP - TOP