忍者ブログ

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

サーバ構築のメモ

SAMBA構築② 基本設定

×

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

SAMBA構築② 基本設定

◆基礎知識
・smb.confに使用する主要なSamba係数
%L = サーバーのNetBIOS
%m = クライアントのNetBIOS
%U = サーバーにアクセスしているユーザー名
%G = %Uのプライマリグループ
%D = ユーザーのドメイン名
%S = セクション(共有)名(共有にアクセスしている場合)
%u = 共有にアクセスしているユーザー名
%g = ユーザー(%u)のプライマリグループ
%h = ユーザー(%u)のホームディレクトリ

・文字コード
CP932 = Windowsと互換性のある日本語の文字に対応した文字コード
EUCJP-MS = UNIX環境と親和性が高い、日本語文字に対応した文字コード
UTF-8 = 多言語の文字に対応した文字コード(デフォルト)

・testprm(smbファイル確認のオプション)
オプション
-s = smb.confの内容を出力する前に確認を求めない
-v = デフォルト値のパラメータも全て表示する

又、差分確認方法としてdiffを使う方法もあり。
# diff -u /etc/samba/smb.conf /etc/samba/smb.conf.org
--- /etc/samba/smb.conf 2024-10-06 20:22:52.455704254 +0900
+++ /etc/samba/smb.conf.org     2024-10-06 20:59:45.789897694 +0900
@@ -1,15 +0,0 @@
-# See smb.conf.example for a more detailed config file or
-# read the smb.conf manpage.
-# Run 'testparm' to verify the config is correct after
-# you modified it.
-#
-# Note:
-# SMB1 is disabled by default. This means clients without support for SMB2 or
-# SMB3 are no longer able to connect to smbd (by default).
-
-[global]
- map to guest = bad user
-
-[tmp]
- path = /tmp
- guest ok = yes

◆基本設定例
# vi /etc/samba/smb.conf
[global]
 #日本語関連の設定
 dos charset = CP932
 unix charset = UTF-8
 #Microsoftネットワーク関連の設定
 workgroup = WORKGROUP
 netbios name = SMB01
 #Sambaが待ち受けるインターフェイスの制限
 interfaces = 10.0.1.12 127.0.0.1  #smbd/nmbdが待ち受けるIPアドレス。127~のアドレスを忘れると一般ユーザーからのパスワード変更が出来なくなる。
 bind interfaces only = yes    #smbd/nmbdが待ち受けるIPアドレス
 socket address = 10.0.1.255   #nmbdが受信するブロードキャストアドレス
 #エラーメッセージの抑止設定
 printcap name = /dev/null #プリントサーバーが接続されていない時に流れるメッセージを抑止
 #ログ出力の設定
 log level = 1   #通常運用時のレベルは0か1。運用開始時は2か3。4以上は開発者向け。レベルを上げすぎると情報が大量に出力される。最大でも3レベルで留めるのを推奨。

例)log level = 3 でログを出力した場合
# tail -f /var/log/samba/log.smbd
[2024/10/30 20:11:51.298702,  2] ../../source3/passdb/pdb_interface.c:163(make_pdb_method_name)
  No builtin backend found, trying to load plugin
[2024/10/30 20:11:51.299350,  3] ../../lib/util/modules.c:167(load_module_absolute_path)
  load_module_absolute_path: Module '/usr/lib64/samba/pdb/tdbsam.so' loaded
[2024/10/30 20:11:51.307005,  3] ../../source3/lib/util_procid.c:53(pid_to_procid)

例)ログレベルを一時的にレベル1に変更する方法
【書式】smbcontrol プロセス debug ログレベル
# smbcontrol smbd debug 1
# cat /var/log/samba/log.smbd
[2024/10/30 20:17:22.025400,  3] ../../lib/util/debug_s3.c:97(debug_message)
  INFO: Remote set of debug to `1'  (pid 2728 from pid 2734)
[2024/10/30 20:17:22.025510,  3] ../../lib/util/debug_s3.c:97(debug_message)
  INFO: Remote set of debug to `1'  (pid 2731 from pid 2728)
[2024/10/30 20:17:22.025641,  3] ../../lib/util/debug_s3.c:97(debug_message)
  INFO: Remote set of debug to `1'  (pid 2730 from pid 2728)

◆Sambaの動作状況の確認
# smbstatus
Samba version 4.19.4
PID     Username     Group        Machine                                   Protocol Version  Encryption           Signing
----------------------------------------------------------------------------------------------------------------------------------------
2868    nobody       nobody       10.0.1.1 (ipv4:10.0.1.1:51782)            SMB3_11           -                    -
Service      pid     Machine       Connected at                     Encryption   Signing
---------------------------------------------------------------------------------------------
tmp          2868    10.0.1.1      月 10月  7 02時37分13秒 2024 JST -            -
Locked files:
Pid          User(ID)   DenyMode   Access      R/W        Oplock           SharePath   Name   Time
--------------------------------------------------------------------------------------------------
2868         65534      DENY_NONE  0x100081    RDONLY     NONE             /tmp   .   Mon Oct  7 02:37:15 2024
2868         65534      DENY_NONE  0x100081    RDONLY     NONE             /tmp   .   Mon Oct  7 02:37:15 2024
2868         65534      DENY_NONE  0x100081    RDONLY     NONE             /tmp   .   Mon Oct  7 02:37:15 2024

smbstatusコマンドの情報は上から大きく
・コネクションの一覧
・各セッションが開いている共有の一覧
・ロックされているファイルの一覧

◆TDBファイル操作
 TDBはSamba独自のデータベース形式です。TDBファイルはバイナリ形式なので、操作に専用のコマンドが必要になります。

□tdbbackup
 TDBファイルのバックアップと破損の検出を行います。

【書式】tdbbackup [-v] TDBファイル名
 -vオプションを指定した場合、TDBファイルの内容を検査し、破損を検出した場合はリストアを行います。
 次のコマンドを実行すると、secrets.tdbファイルのバックアップをsecrets.tdb.bakというファイル名で作成します。


□tdpdump
 引数に指定した任意のTDBファイルの内容を画面に表示します。

【書式】tdbdump TDBファイル名

# tdbbackup secrets.tdb



□tdbrestore
 TDBファイルのリストアを行います。

【書式】tdbrestore TDBファイル名 < tdbdumpコマンドの出力ファイル


□tdbtool
 このコマンドを使って、TDBデータベースを直接メンテナンス出来ます。以下はtdbtoolコマンドを起動してヘルプを表示させた例です。

# tdbtool
tdb> ?
database not open
tdbtool:
  create    dbname     : create a database
  open      dbname     : open an existing database
  transaction_start    : start a transaction
  transaction_commit   : commit a transaction
  transaction_cancel   : cancel a transaction
  erase                : erase the database
  dump                 : dump the database as strings
  keys                 : dump the database keys as strings
  hexkeys              : dump the database keys as hex values
  info                 : print summary info about the database
  insert    key  data  : insert a record
  move      key  file  : move a record to a destination tdb
  storehex  key  data  : store a record (replace), key/value in hex format
  store     key  data  : store a record (replace)
  show      key        : show a record by key
  delete    key        : delete a record by key
  list                 : print the database hash table and freelist
  free                 : print the database freelist
  freelist_size        : print the number of records in the freelist
  check                : check the integrity of an opened database
  repack               : repack the database
  speed                : perform speed tests on the database
  ! command            : execute system command
  1 | first            : print the first record
  n | next             : print the next record
  q | quit             : terminate
  \n                   : repeat 'next' command
tdb>




例題
問題集 51~54頁問5,6,7,8,10,12~15
Sambaの保守 - Linux技術者認定 LinuC | LPI-Japan
Sambaのトラブルシューティング - Linux技術者認定 LinuC | LPI-Japan
国際化 - Linux技術者認定 LinuC | LPI-Japan
Sambaの保守 - Linux技術者認定 LinuC | LPI-Japan
Sambaを設定する - Linux技術者認定 LinuC | LPI-Japan
Sambaの保守 - Linux技術者認定 LinuC | LPI-Japan
Sambaを設定する - Linux技術者認定 LinuC | LPI-Japan
PR

コメント

プロフィール

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

P R