smbclient用法 :
   参  数:
   [网络资源]  [网络资源]的格式为//服务器名称/资源分享名称。
   [密码]   输入存取网络资源所需的密码。
   -B<IP地址>   传送广播数据包时所用的IP地址。
   -d<排错层级>   指定记录文件所记载事件的详细程度。
   -E   将信息送到标准错误输出设备。
   -h   显示帮助。
   -i<范围>   设置NetBIOS名称范围。
   -I<IP地址>   指定服务器的IP地址。
   -l<记录文件>   指定记录文件的名称。
   -L   显示服务器端所分享出来的所有资源。
   -M<NetBIOS名称>   可利用WinPopup协议,将信息送给选项中所指定的主机。
   -n<NetBIOS名称>   指定用户端所要使用的NetBIOS名称。
   -N   不用询问密码。
   -O<连接槽选项>   设置用户端TCP连接槽的选项。
   -p<TCP连接端口>   指定服务器端TCP连接端口编号。
   -R<名称解析顺序>   设置NetBIOS名称解析的顺序。
   -s<目录>   指定smb.conf所在的目录。
   -t<服务器字码>   设置用何种字符码来解析服务器端的文件名称。
   -T<tar选项>   备份服务器端分享的全部文件,并打包成tar格式的文件。
   -U<用户名称>   指定用户名称。
   -W<工作群组>   指定工作群组名称。smbclient //192.168.0.100/share -Uadministrator 回车后,会提示输入admin的密码.
 之后就可以通过get获取了 192.168.0.100是我在windows主机的IP,share为共享名,-U后面是用户名命令 说明 
 ?或help [command] 提供关于帮助或某个命令的帮助 
 ![shell command]   执行所用的SHELL命令,或让用户进入 SHELL提示符 
cd [目录]  切换到服务器端的指定目录,如未指定,则 smbclient 返回当前本地目录 
 lcd [目录]  切换到客户端指定的目录; 
 dir 或ls   列出当前目录下的文件; 
exit 或quit    退出smbclient 
 get file1  file2 从服务器上下载file1,并以文件名file2存在本地机上;如果不想改名,可以把file2省略 
 mget file1 file2 file3  filen 从服务器上下载多个文件; 
 md或mkdir 目录 在服务器上创建目录 
 rd或rmdir 目录 删除服务器上的目录 
 put file1 [file2] 向服务器上传一个文件file1,传到服务器上改名为file2; 
 mput file1 file2 filen 向服务器上传多个文件 若windows中有一个共享文件夹Share,Windows用作服务器
要设置可以写的权限.
一):与Windows服务器建立连接   www.linuxso.com收集 谢绝转载.
smbclient  //192.168.0.100/Share  -u  administrator     
回车后,会提示输入admin的密码.
  通过密码验证之后,
会出现:
smb:\>
这样子状态等待输入.
1.1  列出文件状态
 smb:\>ls
通过ls就可以看出当前所有文件状态
1.2 从windows中取得文件
若有文件bbb.log
则输入:
smb:\>get bbb.log
1.3若要所linux中的文件传输到windows之中
则文件在根目录下  文件名:linuxso.log
则输入:
smb:\.>put /linuxso.log    linuxso.log
 
1,列出某个IP地址所提供的共享文件夹
smbclient -L 198.168.0.1 -U username%password
 
2,像FTP客户端一样使用smbclient
smbclient //192.168.0.1/tmp  -U username%password
 
执行smbclient命令成功后,进入smbclient环境,出现提示符: smb:\>
这里有许多命令和ftp命令相似,如cd 、lcd、get、megt、put、mput等。通过这些命令,我们可以访问远程主机的共享资源。
 
3,直接一次性使用smbclient命令
smbclient -c "ls"  //192.168.0.1/tmp  -U username%password
和
smbclient //192.168.0.1/tmp  -U username%password
smb:\>ls
功能一样的
 
例,创建一个共享文件夹
smbclient -c "mkdir share1"  //192.168.0.1/tmp  -U username%password
如果用户共享//192.168.0.1/tmp的方式是只读的,会提示
NT_STATUS_ACCESS_DENIED making remote directory \share1
 
 
在Linux下,可以通过smbclient命令来实现相似的功能,访问Windows的某个共享目录。
 
 
 
使用平台:
Red Hat Enterprise Linux AS release 4
IP:192.168.1.197
 
Windows XP Professional SP2
IP:192.168.1.198
windows下的共享文件夹hello里面有个1.txt的文本文件
 
 
 
前提条件:
1、Windows和Linux共处于同一个局域网中,可以互相ping通,都未设置防火墙
2、Linux上安装有samba-client的RPM包,它是Samba客户端工具
 
 
 
在Linux下输入
#smbclient -L 192.168.1.198 -U administrator
Password:(输入windows系统所需要的密码)
列举出windows系统192.168.1.198上的所有共享目录
 
 
 
#smbclient //192.168.1.198/hello -U administrator
Password:(输入windows系统所需要的密码)
访问hello目录
 
 
 
#ls 列举出hello目录下的所有文件
 
 
 
#get 1.txt /opt/share/1.txt
将得到的文件复制到Linux系统的/opt/share/路径下。
 
 
 
将所有的文件获取完成后
#q  退出。
 
下面是RHCE考试题目中一道关于samba配置的题目
 
通过配置SMB共享/common目录:
1) 必须是STAFF工作组的一员
2) 共享名是common
3) common只对example.com可用
4) 用户harry可在example.com域内访问
5)用户harry的password为123abc
 
#yum install samba*
#chkconfig samba on
#service samba start
#smbpasswd -a harry
#setsebool -P samba_enable_home_dirs on(要不是共享家目录的话就不会影响)
#getsebool –l 
#chcon -t samba_share_t /common
#vim /etc/samba/smb.conf
workgroup = STAFF
[common]
comment = this is a test smb
path= /common
public=no
write list = harry
browseable = yes


 
 
  加上在命令前加!会执行本地的命令 如 : 
 
 
 
 
  \>!pwd  是查询当前的本地所在目录 
 
 
 
 
  \>pwd  查询远端ftp所在目录 
 
 
 
 
  测试平台: 
 
 
 
 
  Red Hat Enterprise Linux AS release 3 (Taroon) 
 
 
 
 
  Windows 2000 Advanced Server SP4 
 
 
 
 
  当前测试条件: 
 
 
 
 
  1、 Windows和Linux共处于同一个局域网中,可以互相ping通,都未设置防火墙 
 
 
 
 
  2、 Windows的IP地址:192.168.60.188 
 
 
 
 
  3、 Linux的IP地址:192.168.60.189 
 
 
 
 
  4、 Windows上当前有如下共享:c$,temp(everyone具有读取权限) 
 
 
 
 
  5、 Windows上的用户有cmw(管理员组用户帐号),grp(管理员组用户帐号),guest(当前未启用),没有root帐号 
 
 
 
 
  6、Linux上安装有相关的RPM包:samba-client,它是Samba客户端工具 
 
 
 
 
  1、 访问c$共享: 
 
 
 
 
  [root@rh root]# smbclient //192.168.60.188/c$ -U cmw 
 
 
 
 
  Password:                                           
 
 
 
 
  smb: \> cd winnt                                    
 
 
 
 
  smb: \winnt\> 
 
 
 
 
  2、 访问temp共享(启用guest帐户) 
 
 
 
 
  [root@rh root]# smbclient //192.168.60.188/temp 
 
 
 
 
  Password:(未输入任何密码) 
 
 
 
 
  smb: \> 
 
 
 
 
  3、 访问temp共享(未启用guest帐户) 
 
 
 
 
  [root@rh root]# smbclient //192.168.60.188/temp 
 
 
 
 
  Password:(未输入任何密码) 
 
 
 
 
  Anonymous login successful                     
 
 
 
 
  tree connect failed: NT_STATUS_ACCESS_DENIED   
 
 
 
 
  [root@rh root]# 
 
 
 
 
  扩展研究: 
 
 
 
 
  1、 smbclient命令成功后,可以使用的命令及研究: 
 
 
 
 
  [root@rh root]# smbclient //192.168.60.188/temp -U cmw                    
 
 
 
 
  Password:                                                                 
 
 
 
 
  smb: \> ?                                                                 
 
 
 
 
    ? altname archive blocksize cancel 
 
 
 
 
  cd chmod chown del dir 
 
 
 
 
  du exit get help history 
 
 
 
 
  lcd link lowercase ls mask 
 
 
 
 
  md mget mkdir more mput 
 
 
 
 
  newer open print printmode prompt 
 
 
 
 
  put pwd q queue quit 
 
 
 
 
  rd recurse reget rename reput 
 
 
 
 
  rm rmdir setmode symlink tar 
 
 
 
 
  tarmode translate ! 
 
 
 
 
  以上为可以使用的命令,常用命令如下: 
 
 
 
 
  1)        ?命令 
 
 
 
 
  smb: \> ? ?                                           
 
 
 
 
  HELP ?:                                               
 
 
 
 
          [command] give help on a command              
 
 
 
 
  语法:? [command] 
 
 
 
 
  功能:可以查看一个命令的使用方法 
 
 
 
 
  2)        cd命令 
 
 
 
 
  smb: \> ? cd                                          
 
 
 
 
  HELP cd:                                              
 
 
 
 
          [directory] change/report the remote directory 
 
 
 
 
  smb: \> cd samba                                      
 
 
 
 
  语法:cd [directory] 
 
 
 
 
  功能:改变远程目录 
 
 
 
 
  3)        du命令 
 
 
 
 
  smb: \samba\> ? du                                                 
 
 
 
 
  HELP du:                                                           
 
 
 
 
          <mask> computes the total size of the current directory 
 
 
 
 
  smb: \samba\> du 
 
 
 
 
  42293 blocks of size 1048576. 5098 blocks available 
 
 
 
 
  Total number of bytes: 16880894                                    
 
 
 
 
  语法:du 
 
 
 
 
  功能:统计当前目录下文件总计大小,不包括子目录容量。