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_name
3.14.2. 在互动模式中使用 smbclient 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
如果您使用不带 -c 参数的 smbclient,那么工具将进入交互模式。下面的步骤演示了如何连接到 SMB 共享并从子目录中下载文件。
流程
连接到共享:
smbclient -U "DOMAIN\user_name" //server_name/share_name
# smbclient -U "DOMAIN\user_name" //server_name/share_nameCopy 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 availablesmb: \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 availableCopy 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\> exitCopy 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"