1.14. smbclient ユーティリティーを使用した SMB 共有へのアクセス

smbclient ユーティリティーを使用すると、コマンドラインの FTP クライアントと同様に、SMB サーバーのファイル共有にアクセスできます。たとえば、ファイルを共有にアップロードしたり、共有からダウンロードしたりできます。

前提条件

  • samba-client パッケージがインストールされている。

1.14.1. smbclient 対話モードの動作

たとえば、DOMAIN\user アカウントを使用して サーバー でホストされる 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: \> help

特定のコマンドのヘルプを表示するには、以下のコマンドを実行します。

smb: \> help command_name

関連情報

  • smbclient(1) man ページ

1.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

1.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"