3.14. 使用 smbclient 实用程序访问 SMB 共享
smbclient 工具可让您访问 SMB 服务器中的文件共享,类似于命令行 FTP 客户端。例如,您可以使用它来向共享上传文件和从共享下载文件。
先决条件
- 
						samba-client软件包已安装。
3.14.1. smbclient 互动模式如何工作
复制链接链接已复制到粘贴板!
					例如,使用 DOMAIN\user 帐户对在 server 上托管的example共享进行身份验证:
				
smbclient -U "DOMAIN\user" //server/example
# smbclient -U "DOMAIN\user" //server/example
Enter domain\user's password:
Try "help" to get a list of possible commands.
smb: \>
					在 smbclient 成功连接到共享后,工具进入互动模式并显示以下提示:
				
smb: \>
smb: \>要在互动 shell 中显示所有可用命令,请输入:
smb: \> help
smb: \> help要显示特定命令的帮助信息,请输入:
smb: \> help command_name
smb: \> help command_name3.14.2. 在互动模式中使用 smbclient
复制链接链接已复制到粘贴板!
					如果您使用不带 -c 参数的 smbclient,那么工具将进入交互模式。下面的步骤演示了如何连接到 SMB 共享并从子目录中下载文件。
				
流程
- 连接到共享: - smbclient -U "DOMAIN\user_name" //server_name/share_name - # smbclient -U "DOMAIN\user_name" //server_name/share_name- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 进到 - /example/目录:- smb: \> d /example/ - smb: \> d /example/- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 列出目录中的文件: - smb: \example\> ls . D 0 Thu Nov 1 10:00:00 2018 .. D 0 Thu Nov 1 10:00:00 2018 example.txt N 1048576 Thu Nov 1 10:00:00 2018 9950208 blocks of size 1024. 8247144 blocks available- smb: \example\> ls . D 0 Thu Nov 1 10:00:00 2018 .. D 0 Thu Nov 1 10:00:00 2018 example.txt N 1048576 Thu Nov 1 10:00:00 2018 9950208 blocks of size 1024. 8247144 blocks available- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 下载 - example.txt文件:- smb: \example\> get example.txt getting file \directory\subdirectory\example.txt of size 1048576 as example.txt (511975,0 KiloBytes/sec) (average 170666,7 KiloBytes/sec) - smb: \example\> get example.txt getting file \directory\subdirectory\example.txt of size 1048576 as example.txt (511975,0 KiloBytes/sec) (average 170666,7 KiloBytes/sec)- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 从共享断开: - smb: \example\> exit - smb: \example\> exit- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
3.14.3. 在脚本模式中使用 smbclient
复制链接链接已复制到粘贴板!
					如果将 -c 参数传给 smbclient,那么你可对远程 SMB 共享自动执行命令。这可让您在脚本中使用 smbclient。
				
下面的步骤演示了如何连接到 SMB 共享并从子目录中下载文件。
流程
- 
							使用以下命令连接到共享,进到 example目录,下载example.txt文件:
smbclient -U DOMAIN\user_name //server_name/share_name -c "cd /example/ ; get example.txt ; exit"
# smbclient -U DOMAIN\user_name //server_name/share_name -c "cd /example/ ; get example.txt ; exit"