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實在是一個強大的工具,沒法十分詳細地介紹它地所有功能,並且限於筆者的知識有限,有不到之處請各位指出,還望各位多多 交流。