一种给 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.