====== トラブルシューティング ====== ===== 一部のシンボルリンクに Windows からアクセスすると「ネットワーク エラー \\XXX-HOST\XXX-Share (共有パス) にアクセスできません」が発生する ===== {{linux:samba_symlink_access_error_001.png?756|Samba SymLink Access Error 001}}\\ TODO: 工事中...😅💦\\ ===== Fedora 31 で protocol negotiation failed が発生する ===== [[linux:fedora:fedora_31_samba_protocol_negotiation_failed|Fedora 31 で protocol negotiation failed が発生する]]\\ ===== smb.confが存在するとsamba-toolでエラーが発生する ===== 以下のエラーが発生する場合 ERROR(): Provision failed - ProvisioningError: guess_names: 'realm =' was not specified in supplied /etc/samba/smb.conf. Please remove the smb.conf file and let provision generate it smb.confを退避、または、削除する。 $ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.org または $ sudo rm /etc/samba/smb.conf ===== Administratorのパスワードが単純すぎるとsamba-toolでエラーが発生する ===== 以下のエラーが発生する場合 ERROR(ldb): uncaught exception - 0000052D: Constraint violation - check_password_restrictions: the password does not meet the complexity criteria! または ERROR(ldb): uncaught exception - 0000052D: Constraint violation - check_password_restrictions: the password is too short. It should be equal or longer than 7 characters! Administrator password: で7文字以上、英数字記号を含むパスワードを入力する。 ===== samba-toolでtdbbackupコマンドのエラーが発生する ===== 以下のエラーが発生する場合 ERROR(): uncaught exception - [Errno 2] No such file or directory ... File "/usr/lib64/python2.7/site-packages/samba/tdb_util.py", line 36, in tdb_copy status = subprocess.call(tdbbackup_cmd, close_fds=True, shell=False) ... tdb-toolsをインストールする。 $ sudo yum install tdb-tools ===== Unable to connect to CUPS server localhost エラーがログに記録される ===== /var/log/messages に以下のエラーログが記録される。 smbd[1136]: [2013/10/13 12:36:43.739171, 0] ../source3/printing/print_cups.c:151(cups_connect) smbd[1136]: Unable to connect to CUPS server localhost:631 - 通信端点が接続されていません smbd[1113]: [2013/10/13 12:36:43.740111, 0] ../source3/printing/print_cups.c:528(cups_async_callback) smbd[1113]: failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL コンパイル時にCUPSを有効にしていると必ずCUPSサーバーに接続に行くためエラーが発生する。\\ このエラーを防ぐにはsmb.confにprinting = bsdの設定を追加する。\\ $ sudo vi /etc/samba/smb.conf [global] printing = bsd ===== samba_dlzでDNSレコードの更新拒否が発生する ===== 以下の環境ではドメインに参加しているクライアントからのDNSの更新に失敗し動作しなかった。\\ OS: Fedora 19\\ DNS: bind-9.9.3-5.P2\\ Samba: samba-4.1.0 (BIND9_DLZで構成)\\ \\ サーバー側でログを表示しつつ\\ $ sudo journalctl -f \\ クライアントマシンで以下のコマンドを実行。\\ >ipconfig /registerdns Windows IP 構成 このコンピューターのすべてのアダプターに対する DNS リソース レコードの登録を開始しました。 すべてのエラーは、イベント ビューアーに 15 分以内に報告されます。 \\ サーバーのログに以下のエラーが記録される。 named[1043]: samba_dlz: starting transaction on zone monsters-g.local named[1043]: client 172.16.77.81#64872: update 'monsters-g.local/IN' denied named[1043]: samba_dlz: cancelling transaction on zone monsters-g.local named[1043]: samba_dlz: starting transaction on zone monsters-g.local named[1043]: client 172.16.77.81#61611: update 'monsters-g.local/IN' denied named[1043]: samba_dlz: cancelling transaction on zone monsters-g.local \\ 原因がつかめないためSambaの内蔵DNSで構成することにした。 ===== Windowsクライアントをドメイン参加させる際にRPCエラーが発生する ===== Windowsクライアントをドメインに参加させて、「XXXXドメインへようこそ」のダイアログボックスが表示されたあとにRPCエラーが発生する。\\ エラーが発生してもドメイン参加は完了している。\\ \\ DC(ドメインコントローラ)のファイヤーウォール設定が不十分であることが考えられる。\\ \\ DCのコンピュータ上でファイヤーウォールをすべて許可するように変更して試してみる。 $ sudo firewall-cmd --set-default-zone=trusted ===== ドメイン参加後にWindowsクライアントでのログインが異常に遅い ===== 上記の「Windowsクライアントをドメイン参加させる際にRPCエラーが発生する」と同じ原因と思われる。\\ \\ DCのコンピュータ上でファイヤーウォールをすべて許可するように変更して試してみる。 $ sudo firewall-cmd --set-default-zone=trusted ===== systemd経由でSambaを起動できないように思える ===== サービスを起動すると... $ sudo systemctl start samba.service プロセスが直ぐに終了してしまう。 systemd[1]: Started Samba Active Directory Domain Controller Daemon. samba[1490]: [2013/10/16 21:57:10.925033, 0] ../source4/smbd/server.c:492(binary_smbd_main) samba[1490]: samba: using 'standard' process model smbd[1497]: [2013/10/16 21:57:11.065425, 0] ../source3/profile/profile.c:155(profile_setup) smbd[1497]: Can't attach to IPC area. Error was 許可がありません smbd[1497]: [2013/10/16 21:57:11.067577, 0] ../source3/smbd/server.c:1263(main) smbd[1497]: ERROR: failed to setup profiling samba[1491]: [2013/10/16 21:57:11.075891, 0] ../file_server/file_server.c:48(file_server_smbd_done) samba[1491]: file_server smbd daemon exited normally samba[1491]: [2013/10/16 21:57:11.076921, 0] ../source4/smbd/service_task.c:35(task_server_terminate) samba[1491]: task_server_terminate: [smbd child process exited] samba[1490]: [2013/10/16 21:57:11.078755, 0] ../source4/smbd/server.c:211(samba_terminate) samba[1490]: samba_terminate: smbd child process exited systemd[1]: samba.service: main process exited, code=exited, status=1/FAILURE samba[1499]: [2013/10/16 21:57:11.203547, 0] ../source4/smbd/server.c:121(sig_term) samba[1499]: Exiting pid 1499 on SIGTERM でも、シングルモードでは動作する。 $ sudo samba -i -M single --debuglevel=3 lpcfg_load: refreshing parameters from /etc/samba/smb.conf params.c:pm_process() - Processing configuration file "/etc/samba/smb.conf" samba version 4.1.0 started. Copyright Andrew Tridgell and the Samba Team 1992-2013 GENSEC backend 'gssapi_spnego' registered GENSEC backend 'gssapi_krb5' registered GENSEC backend 'gssapi_krb5_sasl' registered GENSEC backend 'sasl-DIGEST-MD5' registered GENSEC backend 'schannel' registered GENSEC backend 'spnego' registered GENSEC backend 'ntlmssp' registered GENSEC backend 'krb5' registered GENSEC backend 'fake_gssapi_krb5' registered NTPTR backend 'simple_ldb' ... SELinuxを確認してみると... $ getenforce Enforcing SELinuxを有効化していると問題が複雑化するので無効にする。無効にするとこの問題も解決する。\\ 詳細は[[linux:selinux|SELinux]]を参照のこと。\\ 反映には再起動が必要。 $ sudo vi /etc/selinux/config SELINUX=disabled 一時的に無効化。 $ sudo setenforce 0 ===== DCの冗長化の際に2台目のDCがDNSに登録されない ===== hostコマンドで確認してもAレコードが登録されていない。 $ host -t A blue-nas.fireball.local ;; connection timed out; trying next origin ;; connection timed out; no servers could be reached 冗長化のために複製したDCのsmb.confにdns forwarderを追記する。 $ sudo vi /etc/samba/smb.conf [global] ... dns forwarder = 192.168.1.10 <- 最初に構築したDCのIPアドレスを追記 idmap_ldb:use rfc2307 = yes Sambaを再起動する。 $ sudo systemctl restart samba.service hostコマンドで確認する。 $ host -t A blue-dc2.fireball.local blue-dc2.fireball.local has address 192.168.1.11