LinuCレベル3 300試験の例題と解説
392.4Sambaのトラブルシューティング
LinuCレベル3 300試験の出題範囲から「392.4 Sambaのトラブルシューティング」についての例題を解いてみます。
このテーマは、Sambaのログ関連・認証関連・内部DBなどに関するトラブルシュートが含まれます。トラブル解決に直結してくる内容なので、しっかりと理解しておきましょう。
例題
Sambaの設定(smb.conf)において、debuglevelとLog levelについて正しいものを2つ選択せよ。
- debuglevelは、log levelの別名である
- log levelは、デフォルト値"3"である
- debuglevelは、log levelと併用するべきである
- log levelは、デフォルト値"1"である
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「1.debuglevelは、log levelの別名である」と「4.log levelは、デフォルト値"1"である」です。
Sambaの設定ファイルであるsmb.confでは、バージョンがパラメータ数が多く、その中には重複した役割を持っておりどちらかを使用すればよいというものがあります。
今回紹介したdebuglevelとlog levelもそんな例です。
log levelは、デフォルト値"1"となっております。数値が大きくなるについて、出力されるログ量が多くなりデバックなどトラブル解析に役に立ちますが、通常運用ではログファイルのサイズが大きくなるので注意が必要です。
その対策として、基本的には"log level 1"としながらも、一部の種類のログだけそれ以上にすることが出来るようになっています。
※設定の反映には、smb.confの再読み込みなどが必要
以下に実機でのサンプルを記載します。
"log level 1"の場合
ubuntu@soda:~$ tail -f /var/log/samba/log.xxxxxxx
Requested protocol [NT LM 0.12]
[2023/07/31 21:55:59.218218, 3] ../../source3/smbd/negprot.c:758(reply_negprot)
reply_negprot: No protocol supported !
[2023/07/31 21:55:59.218567, 3] ../../source3/smbd/server_exit.c:239(exit_server_common)
Server exit (no protocol supported
)
[2023/07/31 23:21:27.792112, 1] ../../source3/printing/printer_list.c:255(printer_list_get_last_refresh)
Failed to fetch record!
[2023/07/31 23:21:27.792212, 1] ../../source3/smbd/server_reload.c:67(delete_and_reload_printers)
pcap cache not loaded
"log level 3"の場合
ubuntu@soda:~$ tail -f /var/log/samba/log.xxxxxxx
[2023/07/31 23:23:07.375184, 3] ../../lib/util/access.c:372(allow_access)
Allowed connection from 192.168.1.124 (192.168.1.124)
[2023/07/31 23:23:07.375565, 3] ../../source3/smbd/service.c:610(make_connection_snum)
make_connection_snum: Connect path is '/tmp' for service [IPC$]
[2023/07/31 23:23:07.375947, 3] ../../source3/smbd/vfs.c:115(vfs_init_default)
Initialising default vfs hooks
[2023/07/31 23:23:07.376179, 3] ../../source3/smbd/vfs.c:141(vfs_init_custom)
Initialising custom vfs hooks from [/[Default VFS]/]
[2023/07/31 23:23:07.377672, 3] ../../source3/smbd/service.c:854(make_connection_snum)
.
.
.
長いので一部省略
.
.
.
[2023/07/31 23:23:09.813494, 3] ../../source3/smbd/smb2_server.c:3954(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_OBJECT_NAME_NOT_FOUND] || at ../../source3/smbd/smb2_create.c:337
[2023/07/31 23:23:09.820017, 3] ../../source3/smbd/dir.c:1031(smbd_dirptr_get_entry)
smbd_dirptr_get_entry mask=[*] found . fname=. (.)
[2023/07/31 23:23:09.820611, 3] ../../source3/smbd/dir.c:1031(smbd_dirptr_get_entry)
smbd_dirptr_get_entry mask=[*] found .. fname=.. (..)
[2023/07/31 23:23:09.821708, 3] ../../source3/smbd/dir.c:1031(smbd_dirptr_get_entry)
smbd_dirptr_get_entry mask=[*] found testfile2.txt fname=testfile2.txt (testfile2.txt)
[2023/07/31 23:23:09.822378, 3] ../../source3/smbd/dir.c:1031(smbd_dirptr_get_entry)
smbd_dirptr_get_entry mask=[*] found testfile fname=testfile (testfile)
[2023/07/31 23:23:09.822843, 3] ../../source3/smbd/smb2_server.c:3954(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[9] status[STATUS_NO_MORE_FILES] || at ../../source3/smbd/smb2_query_directory.c:160
[2023/07/31 23:23:09.825212, 3] ../../source3/smbd/smb2_notify.c:251(smbd_smb2_notify_send)
smbd_smb2_notify_send: notify change called on ., filter = DIR_NAME, recursive = 0
[2023/07/31 23:23:09.825868, 3] ../../source3/smbd/smb2_notify.c:251(smbd_smb2_notify_send)
smbd_smb2_notify_send: notify change called on ., filter = FILE_NAME|ATTRIBUTES|LAST_WRITE, recursive = 0
"log level = 1 smb2:3 smb2_credits:3"の場合
ubuntu@soda:~$ tail -f /var/log/samba/log.xxxxxxx
[2023/08/01 04:41:35.551535, 1] ../../source3/printing/printer_list.c:255(printer_list_get_last_refresh)
Failed to fetch record!
[2023/08/01 04:41:35.551943, 1] ../../source3/smbd/server_reload.c:67(delete_and_reload_printers)
pcap cache not loaded
[2023/08/01 04:41:37.292318, 3] ../../source3/smbd/smb2_server.c:3954(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_NOT_FOUND] || at ../../source3/smbd/smb2_ioctl.c:353
[2023/08/01 04:41:37.293196, 3] ../../source3/smbd/smb2_server.c:3954(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_NOT_FOUND] || at ../../source3/smbd/smb2_ioctl.c:353
[2023/08/01 04:41:37.299694, 3] ../../source3/smbd/smb2_server.c:3954(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_OBJECT_NAME_NOT_FOUND] || at ../../source3/smbd/smb2_create.c:337
[2023/08/01 04:41:37.308460, 3] ../../source3/smbd/smb2_server.c:3954(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[5] status[STATUS_NO_MORE_FILES] || at ../../source3/smbd/smb2_query_directory.c:160
[2023/08/01 04:41:39.648955, 3] ../../source3/smbd/smb2_read.c:425(smb2_read_complete)
smbd_smb2_read: fnum 131769198, file testfile2.txt, length=3 offset=0 read=3
詳細については、以下で確認出来ます。
smb.confのlog level
https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html#LOGLEVEL
smb.conf
http://www.samba.gr.jp/project/translation/current/htmldocs/manpages/smb.conf.5.html
例題作成者
鯨井 貴博 (LinuCエヴァンジェリスト/登録インストラクター、LPI-Japanアカデミック認定校 ゼウスITトレーニングセンター)