Red Hat Training

A Red Hat training course is available for RHEL 8

3.14. 使用 smbclient 实用程序访问 SMB 共享

smbclient 工具可让您访问 SMB 服务器中的文件共享,类似于命令行 FTP 客户端。例如,您可以使用它来向共享上传文件和从共享下载文件。

先决条件

  • samba-client 软件包已安装。

3.14.1. smbclient 互动模式如何工作

例如,使用 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: \>

要在互动 shell 中显示所有可用命令,请输入:

smb: \> help

要显示特定命令的帮助信息,请输入:

smb: \> help command_name

其它资源

  • smbclient(1) 手册页

3.14.2. 在互动模式中使用 smbclient

如果您使用不带 -c 参数的 smbclient,那么工具将进入交互模式。下面的步骤演示了如何连接到 SMB 共享并从子目录中下载文件。

流程

  1. 连接到共享:

    # smbclient -U "DOMAIN\user_name" //server_name/share_name
  2. 进到 /example/ 目录:

    smb: \> d /example/
  3. 列出目录中的文件:

    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
  4. 下载 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)
  5. 从共享断开:

    smb: \example\> exit

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"