Linux访问共享资源命令 smbclient

-

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 lcdgetmegtputmput等。通过这些命令,我们可以访问远程主机的共享资源。

 

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的文本文件

 

 

 

前提条件:

1WindowsLinux共处于同一个局域网中,可以互相ping通,都未设置防火墙

2Linux上安装有samba-clientRPM包,它是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)用户harrypassword123abc

 

#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 

 

猜你喜欢

转载自zhoujingxian.iteye.com/blog/1189334
今日推荐