smbclient smbclient命令网络服务器 smbclient命令属于samba套件,它提供一种命令行使用交互式方式访问samba服务器的共享资源。
smbclient(选项)(参数)
-B:传送广播数据包时所用的IP地址;
-d<排错层级>:指定记录文件所记载事件的详细程度;
-E:将信息送到标准错误输出设备;
-h:显示帮助;
-i<范围>:设置NetBIOS名称范围;
-I:指定服务器的IP地址;
-l <记录文件>:指定记录文件的名称;
-L:显示服务器端所分享出来的所有资源;
-M:可利用WinPopup协议,将信息送给选项中所指定的主机;
-n:指定用户端所要使用的NetBIOS名称;
-N:不用询问密码;
-O <连接槽选项>:设置用户端TCP连接槽的选项;
-p:指定服务器端TCP连接端口编号;
-R <名称解析顺序>:设置NetBIOS名称解析的顺序;
-s <目录>:指定smb.conf所在的目录;
-t <服务器字码>:设置用何种字符码来解析服务器端的文件名称;
-T:备份服务器端分享的全部文件,并打包成tar格式的文件;
-U <用户名称>:指定用户名称;
-w <工作群组>:指定工作群组名称。
smb服务器:指定要连接的smb服务器。
列出某个IP地址所提供的共享文件夹
smbclient -L198.168.0.1 -U username%password
[root@node2~]# smbclient -L 192.168.192.91 -U smbuser1%smbuser1
Domain=[YYGROUP] OS=[Windows 6.1] Server=[Samba4.2.3]
Sharename Type Comment
--------- ---- -------
yysmb01 Disk yynfs01
yysmb02 Disk yynfs02
IPC$ IPC IPC Service (YY-SMB-Server(4.2.3))
Domain=[YYGROUP] OS=[Windows 6.1] Server=[Samba4.2.3]
Server Comment
--------- -------
Workgroup Master
--------- -------
[root@node2 ~]#
像ftp客户端一样使用smbclient
smbclient //192.168.0.1/tmp -U username%password
[root@node2 ~]# smbclient //192.168.192.91/yysmb01-U smbuser1%smbuser1
Domain=[YYGROUP] OS=[Windows 6.1] Server=[Samba4.2.3]
smb: \>
执行smbclient命令成功后,进入smbclient环境,出现提示符:smb:/>
这里有许多命令和ftp命令相似,如cd 、lcd、get、megt、put、mput等。通过这些命令,我们可以访问远程主机的共享资源。
直接一次性使用smbclient命令
[root@node2 ~]# smbclient -c "ls"//192.168.192.91/yysmb01 -U smbuser1%smbuser1
Domain=[YYGROUP] OS=[Windows 6.1] Server=[Samba4.2.3]
. D 0 Mon Nov 28 09:37:43 2016
.. D 0 Mon Nov 28 09:37:51 2016
18555904blocks of size 1024. 12997228 blocks available
[root@node2 ~]#
和
[root@node2 ~]# smbclient //192.168.192.91/yysmb01-U smbuser1%smbuser1
Domain=[YYGROUP] OS=[Windows 6.1] Server=[Samba4.2.3]
smb: \> ls
. D 0 Mon Nov 28 09:37:43 2016
.. D 0 Mon Nov 28 09:37:51 2016
18555904blocks of size 1024. 12997488 blocks available
smb: \>
功能一样的。
创建一个共享文件夹
[root@node2 ~]# smbclient -c "mkdirshare1" //192.168.192.91/yysmb01 -U smbuser1%smbuser1
Domain=[YYGROUP] OS=[Windows 6.1] Server=[Samba4.2.3]
NT_STATUS_ACCESS_DENIED making remote directory\share1
[root@node2 ~]#
如果用户共享//192.168.0.1/tmp的方式是只读的,会提示NT_STATUS_ACCESS_DENIED making remote directory /share1
日志如下:
[root@node1 ~]# smbclient -L 198.168.192.91 -Usmbuser1%smbuser1
Connection to 198.168.192.91 failed (ErrorNT_STATUS_IO_TIMEOUT)
解决办法:在/etc/samba/lmhosts添加相应节点的ip和netbios name。
[root@node1 ~]# cat /etc/samba/lmhosts
127.0.0.1 localhost
192.168.192.91 YY_SMB_NODE1
此程序是 samba 套件的一部分。smbstatus 是个非常简单的程序,用于列示当前 samba 的联接状态。
smbstatus [-b][-d] [-L] [-p] [-S] [-s configuration file] [-u username]
-b :指定只输出简短的内容。
-d :指定以详细方式输出内容。
-L :让 smbstatus 只列出 /var 目录中的被锁定项。
-p :用这个参数来列出 smbd进程的列表然后退出。对脚本编程很有用。
-S :让 smbstatus 只列出共享资源项。
-s configurationfile :用这个参数指定一个配置文件。当然在编译时已做好了默认的配置文件。文件中包含了服务需要的详细配置信息。参见 smb.conf(5)获得更多信息。
-u username :用这个参数来查看只与username 用户对应的信息。
列出某个用户所使用的的共享文件夹
[root@node1 ~]# smbstatus -u smbuser1
Samba version 4.2.3
PID Username Group Machine Protocol Version
------------------------------------------------------------------------------
21697 smbuser1 smbuser1 192.168.192.92(ipv4:192.168.192.92:37074) NT1
Service pid machine Connected at
-------------------------------------------------------
yysmb01 21697 192.168.192.92 Tue Nov 29 09:28:42 2016
No locked files
[root@node1 ~]#
pdbedit命令来建立Samba账户。
Usage:[OPTION...]
-a username:新建Samba账户。
-x username:删除Samba账户。
-L:列出Samba用户列表,读取passdb.tdb数据库文件。
-Lv:列出Samba用户列表的详细信息。
-c “[D]” –u username:暂停该Samba用户的账号。
-c “[]” –u username:恢复该Samba用户的账号。
查询smb用户列表
[root@node1 ~]# pdbedit -L
nisuser1:1001:
smbuser1:1006: