一種給 UNIX 機器用的 SMB client 程式被包含在 Samba 發行套件之中.它提供一種在命令列下的像ftp的介面.
想要看在給定的主機上有哪些分享可取得, 執行:
/usr/sbin/smbclient -L host
這裏的 'host' 是你想要瀏覽的機器名子. 這將會回應一串 'service' 的名稱 - 也就是, 它所分享給你的磁碟或印表機的名稱. 除非 SMB 伺服器沒有安全上的設定, 否則它將要求你輸入密碼. 給它 'guest' 帳號的密碼或是你個人在那台機器上帳號的密碼.
舉個例子:
smbclient -L zimmerman
這個指令的輸出應該看起來像是這樣:
Server time is Sat Aug 10 15:58:27 1996
Timezone is UTC+10.0
Password:
Domain=[WORKGROUP] OS=[Windows NT 3.51] Server=[NT LAN Manager 3.51]
Server=[ZIMMERMAN] User=[] Workgroup=[WORKGROUP] Domain=[]
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk Remote Admin
public Disk Public
C$ Disk Default share
IPC$ IPC Remote IPC
OReilly Printer OReilly
print$ Disk Printer Drivers
This machine has a browse list:
Server Comment
--------- -------
HOPPER Samba 1.9.15p8
KERNIGAN Samba 1.9.15p8
LOVELACE Samba 1.9.15p8
RITCHIE Samba 1.9.15p8
ZIMMERMAN
這個 browse list 列出其他有資源分享給網路的 SMB 伺服器.
要使用此 client, 請執行:
/usr/sbin/smbclient service <password>
這裏的 'service' 是一台機器和分享名稱. 舉例而言,如果你設法連到一台叫做 zimmerman 的機器上之以 'public' 為分享名稱的目錄 ,此 service 要叫做 \\zimmerman\public. 然而,因為 shell 限制, 你會需要脫離 backslashes, 所以你要像這樣的結束:
/usr/sbin/smbclient \\\\zimmerman\\public mypasswd
這樣的 'mypasswd' 是你的密碼之文字串{literal string}.
你將會有 smbclient 的提示符號{prompt}出現:
Server time is Sat Aug 10 15:58:44 1996
Timezone is UTC+10.0
Domain=[WORKGROUP] OS=[Windows NT 3.51] Server=[NT LAN Manager 3.51]
smb: \>
鍵入 'h' 取得關於使用 smbclient 的 help:
smb: \> h
ls dir lcd cd pwd
get mget put mput rename
more mask del rm mkdir
md rmdir rd prompt recurse
translate lowercase print printmode queue
cancel stat quit q exit
newer archive tar blocksize tarmode
setmode help ? !
smb: \>
如果你能使用ftp,你應該不需要查詢 smbclient 的 man pages.