目次
トラブルシューティング
一部のシンボルリンクに Windows からアクセスすると「ネットワーク エラー \\XXX-HOST\XXX-Share (共有パス) にアクセスできません」が発生する
Fedora 31 で protocol negotiation failed が発生する
smb.confが存在するとsamba-toolでエラーが発生する
以下のエラーが発生する場合
ERROR(<class 'samba.provision.ProvisioningError'>): 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(<type 'exceptions.OSError'>): 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を有効化していると問題が複雑化するので無効にする。無効にするとこの問題も解決する。
詳細は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