http://tech.ddvip.com/2007-07/118426559829319.htmlhtml
1.Smbtreelinux
做用:显示局域网中全部共享主机和目录列表ios
用法:smbtree [-b] [-D] [-U username%password]windows
[-b]以广播的形式来检测安全
[-D]显示Domain服务器
[-U]以username登录,%后边是密码网络
2.nmblookupapp
做用:显示一台主机的netbios主机名jsp
用法:nmblookup win2000 这样就能够显示出ip信息ide
3.smbclient
做用:显示/登录局域网中的文件夹
用法:smbclient -L host
smbclinet //host/share
host主机名称或ip皆可,share为共享文件名
#smbclient -L 10.0.0.2将列出这台机器共享的文件
#smbclient //10.0.0.2/share -U redhat%redhat能够直接登陆到windows的共享文件夹,假设要访问的机器的用户名和密码都为redhat
当出现smb:> 就表示正常,用help查看一下命令,与ftp相似。
用如下方法也能够访问,更直接些
#smbmount //10.0.0.2/share /mnt -o username=redhat%redhat
4.smbtar
做用:远程备份网上网络邻居的文件(可能需作修改)
用法:smbtar -s server -u user -p password -x sharename -t output
server是服务器的名字,user为用户名,password为密码,sharename为要备份的共享文件名,output为备份文件的名字,最好加个tar后缀,一下看出是备份的文件
例:#smbtar -s 10.0.0.2 -u redhat -p redhat -x share -t share.tar
#ls -l share.tar看一下
若是看到share.tar的大小为零
用 #which smbtar 看一下tar的位置,在/usr/bin/smbtar
而后 #file /usr/bin/smbtar 能够看出smbtar是一个文本
再编辑#vi /usr/bin/smbtar 移动到最后一行,看一下倒数第二行有没有一个
‘-N’的参数,这个参数就意味着匿名登录,假设有这个选项,那么不管在前边访问加上-u redhat -p redhat,结果还是以匿名登录。将‘-N’这个选项去掉就OK!
1和2实验没有成功,我局域网有台加入了域的机器,个人机器没有,我能够ping到它可是用1,2中的命令没有看到成功的结果。3和4都通过验证,没有问题。
Samba使用大全(二)-Samba客户端http://LinuxAid.com.cn 01-11-08 22:42 1025p grind--------------------------------------------------------------------------------Samba使用大全(二)-Samba客户端使用Samba网络打印:使用unix网络打印之前的文章比较少涉及,最近试验了一下,效果仍是不错的,如今讲讲基本的实现方法:好比你要创建一台网络打印机grind,而打印机对应网络上面的//glass/HPLaserj,全部须要配置的文件有下面几个:1./etc/printcap,内容通常为:grind: :sh: #禁止提示的header :ml=0: #打印的文件的长度下限, :mx=0: #最大的打印文件大小,0为不限制 :sd=/var/spool/lpd/grind: #打印机的spool目录 :lp=|/usr/bin/smbprint: #打印输出须要的设备名或者管道名 :lpd_bounce=true: #强制lpd守护进程过滤打印文件 :if=/usr/share/printconf/mf_wrapper: #过滤命令文件2.smbprint这个通常在安装完smb相关的rpm包之后就有了,主要内容是:eval acct_file=$$#spool_dir=`dirname $acct_file`config_file=$spool_dir/.configeval `cat $config_file`share=`echo $share | sed "s/[]///g"`if [ "$user" != "" ]; then usercmd="-U"else usercmd=""fiif [ "$workgroup" != "" ]; then workgroupcmd="-W"else workgroupcmd=""fiif [ "$translate" = "yes" ]; thencommand="translate ; print -"elsecommand="print -"ficat | /usr/bin/smbclient "$share" "$password" -E ${hostip:+-I} $hostip -N -P $usercmd "$user" $workgroupcmd "$workgroup" -c "$command" 2>;/dev/null3.mf_wrapper是一个magic filter文件,是相关的一些过滤规则。内容是:MF_RULE_DIR='/usr/share/printconf/mf_rules'MF_RULES=$MF_RULE_DIR/mf[[]][[]]-*TMP_FILE=`mktemp /tmp/printconf.XXXXXX`' 'exit 1cat ./mf.cfg $MF_RULES | m4 >; $TMP_FILEif [ -n "$DEBUG" ]; then case "$DEBUG" in 2) DEBUGSTRING="--debug --debug" ;; 3) DEBUGSTRING="--debug --debug --debug" ;; 4) DEBUGSTRING="--debug --debug --debug --debug" ;; 5) DEBUGSTRING="--debug --debug --debug --debug --debug" ;; *) DEBUGSTRING="--debug" ;; esacelse DEBUGSTRING=""fi# Run magic filter/usr/bin/magicfilter-t $TMP_FILE $DEBUGSTRING $* < /dev/stdinRETVAL=$?if [ -f $TMP_FILE ]; then rm -f $TMP_FILE;fi ;; esacelse DEBUGSTRING=""fi# Run magic filter/usr/bin/magicfilter-t $TMP_FILE $DEBUGSTRING $* < /dev/stdinRETVAL=$?if [ -f $TMP_FILE ]; then rm -f $TMP_FILE;fiif [[ $RETVAL -eq 0 ]]; then TERMINATION=`grep '^[[]]*#[[]]*TERMINATION=' ./mf.cfg | sed 's/^[[]]*#[[]]*TERMINATION=//;'` if [ -n $TERMINATION ]; then echo -n -e $TERMINATION; fifi同时须要在/var/spool/lpd/grind下面有这么两个文件:mf.cfg和script.cfg。mf.cfg的内容是:define(TEXTfilter, text "" 14 )dnldefine(PSfilter, `filter /usr/share/printconf/util/mf_postscript_wrapper --mfomatic -d lj5gray-75168.foo')dnlscript.cfg的内容是:share="//glass/HPLaserj" #glass机器上面共享的打印机hostip="192.168.1.123" #glass这台机器的IPuser=""password=""workgroup=""translate="no"完成这个工做后,启动lpd进程,而后就能用lpr等命令使用网络打印机打印了。使用网络共享文件资源:列出网络资源:通常能够用smbclient来列出某台机器相关的资源,smbclient的用法参考http://www.linuxaid.com.cn/training/tods/showtod.jsp?i=241。这里讲比较有用的使用方法:smbclient –L IP或者NETBIOS名称,做用是显示某台提供samba服务的服务器上的共享资源。命令执行效果以下:smbclient –L glass Sharename Type Comment --------- ---- ------- IPC$ IPC 远程 IPC HPLaserJ Printer HP LaserJet 6P ADMIN$ Disk 远程管理 littlep Disk C$ Disk 默认共享 Server Comment --------- ------- GLASS GRIND Workgroup Master --------- ------- BLUESUN GLASS WORKGROUP HEIHEI第一段列举了该机器(glass)上面的共享资源,第二段列举了glass所在的工做组里面全部提供samba服务的机器,第三列举了其余工做组提供 browse服务的Master机器(关于Master和Browse服务能够参考个人前面一篇samba使用大全-samba服务器)。使用网络资源:smbclient //IP或者NETBIOS名称/共享资源名 [-U 用户名]命令执行效果以下:smbclient //glass/littlepadded interface ip=192.168.1.123 bcast=192.168.1.255 nmask=255.255.255.0Got a positive name query response from 192.168.1.123 (192.168.1.123)Password:Domain=[BLUESUN] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]smb: >; 接下来的操做和ftp的时候命令同样,用get下载文件而用put上传文件,命令能够用help查看。还有一种方法是用文件系统的方式(这种方式要肯定你的内核支持smbfs,若是没有支持的话,编译内核的时候必须选中File systems--->;Network File Systems--->; SMB file system support (to mount Windows shares etc.) ):smbmount //IP或者NETBIOS名称/共享资源名 /本地挂接点 [-o option]经常使用的的option有username=<用户名>;,password=<密码>;,guest(指定为用guest访问, 不用提供密码,前面的即便用username=guest参数的话也会要求输入密码),ro(有时候为了系统安全要指定为只读模式),rw,同时多个 option的话用逗号隔开。或者能够用mount –t smbfs [–o option] //IP或者NETBIOS名称/共享资源名 /本地挂接点来实现一样的功能。例子以下:smbmount //glass/littlep /test -o guest或者mount –t smbfs –o guest //glass/littlep /test,而后就能经过访问/test来使用网络上的资源了。若是不须要使用的时候,能够简单地使用smbumount /test或者umount /test来解除这个挂接。 关于samba的功能(共享Linux磁盘给Win95/NT、共享Linux打印机给win95/NT、共享win95/NT打印机给Linux机 器。、共享Win95/NT磁盘给Linux机器),前面两个属于samba服务器的内容然后两个属于samba客户段的内容,在个人两篇文章中都有介绍 了他们的实现方法,可是samba实在是一个强大的工具,没法十分详细地介绍它地所有功能,并且限于笔者的知识有限,有不到之处请各位指出,还望各位多多 交流。