STC214/linux smbclient命令参数及用法详解--linux访问samba共享资源命

Created Sat, 06 Feb 2021 03:52:49 +0800 Modified Sat, 06 Feb 2021 03:52:49 +0800
2996 Words

smbclient命令属于samba套件,它提供一种命令行使用交互式方式访问samba服务器的共享资源。
语法

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<工作群组>:指定工作群组名称。  

参数

smb服务器:指定要连接的smb服务器。
实例

列出某个IP地址所提供的共享文件夹

smbclient -L 198.168.0.1 -U username%password

像ftp客户端一样使用smbclient

smbclient //192.168.0.1/tmp -U username%password

执行smbclient命令成功后,进入smbclient环境,出现提示符:smb:/>

这里有许多命令和ftp命令相似,如cd 、lcd、get、megt、put、mput等。通过这些命令,我们可以访问远程主机的共享资源。

直接一次性使用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


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.html’ target=’_blank’>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

常用功能: 资料由linuxso.com收集

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共享资源

在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