忍者ブログ

ブランクがあるインフラエンジニアの備忘録

サーバ構築のメモ

SAMBAのクライアント機能➀(smbclient、smbtar、smbget)

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

SAMBAのクライアント機能➀(smbclient、smbtar、smbget)

◆smbclientコマンドによるファイル伝送
□Windowsサーバ(ファイルサーバー)側の設定
・Cドライブ直下に共有フォルダ「temp」を作成
・「temp」フォルダに「aduser01」の「読み取り/書き込み」の権限を付与します。
・「temp」フォルダ内に「test.txt」ファイルを設置します。
・「temp」フォルダ直下に「testdir」フォルダを作成します。

 上記共有フォルダにLinuxクライアントからアクセスし、「test.txt」の取得及び、「testdir」フォルダに「smb.conf」ファイルを設置します。

【書式】smbclient //サーバー名/共有名 -U ユーザー名

# smbclient //WINSV2022AD/temp -U aduser01 #WINSV2022ADの共有フォルダへアクセス
Password for [NORA\aduser01]:
Try "help" to get a list of possible commands.
smb: \> get test.txt
getting file \test.txt of size 19 as test.txt (1.4 KiloBytes/sec) (average 1.4 KiloBytes/sec)
smb: \> cd testdir\
smb: \testdir\> put /etc/samba/smb.conf smb.conf
putting file /etc/samba/smb.conf as \testdir\smb.conf (26.0 kb/s) (average 26.0 kb/s)
smb: \testdir\> quit

・Linuxクライアント側でtest.txtを取得したことを確認します。
# ls
test.txt

・WindowsサーバのtestdirフォルダにLinuxクライアントから設置したsmb.confファイルが存在することを確認します。


上記確認後、次の検証のためにtestdir上の「smb.conf」ファイルを削除します。

□バッチ処理でファイル転送
 パスワード入力を自動化したうえで、-cオプションに続いて操作コマンドを記述することで、smbclientによるバッチ処理を実現できます。複数の操作コマンドを記述する場合は「;」で区切る為、「'」で囲むのを忘れないように。上記の例と同じ操作をバッチ処理で実行するには以下のようになります。

# smbclient //WINSV2022AD/temp -U aduser01%Passw0rd -c 'dir; get TEST.TXT; cd testdir; put /etc/samba/smb.conf smb.conf; quit'
  .                                   D        0  Thu Oct 24 23:49:13 2024
  ..                                DHS        0  Thu Oct 24 23:40:36 2024
  test.txt                            A       19  Thu Oct 24 23:36:46 2024
  testdir                             D        0  Fri Oct 25 00:00:22 2024
                12927487 blocks of size 4096. 9922252 blocks available
getting file \TEST.TXT of size 19 as TEST.TXT (3.7 KiloBytes/sec) (average 3.7 KiloBytes/sec)
putting file /etc/samba/smb.conf as \testdir\smb.conf (199.4 kb/s) (average 199.4 kb/s)

・Linuxクライアント側でTEST.TXT  を取得したことを確認します。
# ls
TEST.TXT         test.txt

・WindowsサーバのtestdirフォルダにLinuxクライアントから設置したsmb.confファイルが存在することを確認します。


◆Windowsマシンのプリンタ共有へ印刷
 smbclientではプリンタ共有に対する印刷も出来ます。印刷だけでなく印刷キューの制御も可能です。次の例では¥¥WINSV2022AD¥printerというWindowsマシンのプリンタ共有に対してaduser02がWindowsユーザーとして接続を行い、tiger.psというファイルを印刷します。

#  smbclient //WINSV2022AD/printer -c 'print tiger.ps' -U aduser02%Passw0rd


◆smbtarスクリプトによるファイルの一括バックアップ、リストア
 smbtarはWindows共有からファイルの一括バックアップ・リストアを実施します。

□smbtarの主なオプション

オプション 説明
-r サーバーへのリストアを指定。本オプションが指定されていない場合は
バックアップ設定。
-v 冗長モード
-u ユーザー名  認証時に使用するWindowsユーザー名
-p パスワード 認証時に使用するパスワード
-s サーバー名 接続先のサーバー名
-x 共有名 接続先の共有名
-d フォルダ名 バックアップ・リストア対象のフォルダ名
-t ファイル名 バックアップ先のファイル

以下はWINSV2022AD サーバーの共有フォルダtempをbackup.tarというファイル名でバックアップを取得しています。

# smbtar -s WINSV2022AD -x temp -u aduser01 -p Passw0rd -t backup.tar
# ls
TEST.TXT         backup.tar


◆smbgetコマンドによるファイルの一括転送
 smbgetはWindowsマシンの共有フォルダからファイルの一括ダウンロードを実現するコマンド。smbclientでも同様なことが出来ますが、より簡単。

【書式】smbget -R smb://ユーザー名:パスワード@サーバー名/共有名

□smbgetの主なオプション
オプション 説明
-u ユーザー名
--username=ユーザー名
認証時に使用するWindowsユーザー名
-p パスワード
--password=パスワード
認証時に使用するパスワード
-w ドメイン名
--workgroup=ドメイン名
認証時に使用するドメイン名
-a
guest
ゲスト認証を指定
-R
--recursive
再起的にファイルを取得

【重要】smbclientとsmbgetで同じ意味を表す引数の名称や文法が微妙に異なっているので混同しないように注意。

# smbget -R smb://aduser01:Passw0rd@WINSV2022AD/temp

例題
問題集138頁問1~3,6
CIFS連携 - Linux技術者認定 LinuC | LPI-Japan
PR

コメント

プロフィール

HN:
のらくら
性別:
非公開
自己紹介:
介護と自身の手術でブランクが出来たインフラエンジニアの学習メモ。VirtualBOXで仮想サーバーを建て、GNS3でCiscoルーター&スイッチによるネットワークのエミュレーションもしています。GNS3ネットワーク内に仮想サーバーと連携させて、実際のネットワーク環境におけるサーバーをシミュレートする他、LinuC level3 300の対策もしています。

P R