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