Samba データベースの「破損」を防ぐにはどうすればよいですか?

Samba データベースの「破損」を防ぐにはどうすればよいですか?

Samba の設定に問題があります。Samba を 12 ~ 13 年ほど使用していますが、このようなことは初めてです。Windows ドメインについてかなり知識があった時期もありましたが、Windows の世界は私の記憶から消え、Active Directory とともに成長してきた Samba のさまざまな側面に混乱しています。

私の設定は実に簡単です。ディスク スペースのあるサーバー 1 台と、他の 4 台のコンピューターで共有したいプリンター 1 台があるだけです。これまでずっと、単一の PDC を持つシンプルなドメインを使用してきました。最近、何かが変わりました。Lucid に問題があるのか​​、Samba の特定の更新によるものかはわかりませんが、データベースが壊れ続けています。

時々、私のアカウントのパスワードが「間違って」しまいます。キャッシュされた認証情報を使用してログインすることはできますが、ドライブをマウントしたり、プリンタに印刷したりすることはできません。これは 30 日ごとに発生すると思います。45 日かもしれません。サーバーでパスワードをリセットするだけで対処していますが、これは本当に面倒です。また、ログから、マシンのパスワードも乱れ始めていることに気付きました。

結局、12 年ほど移行と更新を続けてきたデータベースが古すぎるのだと気づき、データベースを削除して新しいドメインで最初からやり直しました。今、同じことが再び起こっているので、明らかにそれが問題ではなかったようです。

おそらく Windows 7 ボックスだけの問題だと思っていましたが、今では XP マシンでも同じ問題が発生しています。

パスワードの有効期限ポリシーの問題だとは思いません。もしそうなら、パスワードを変更する時期が来たというプロンプトが表示されるはずですよね? そういったことを調べようとすると、 と コマンドのさまざまな組み合わせに戸惑ってしまいますnetpdbedit一般wbinfo的には、それらを必要としないことに慣れています。いつか、そのうちの 1 つを使用して自分のアカウントを「ドメイン管理者」グループに追加したと思いますが、それがどのように行われたかは覚えていません。

特に、私の構成で winbind を実行する必要があるかどうかに関するドキュメントに困惑しています。wbinfo実行する必要があるとは思いませんが、診断を行うために実行するには当然必要であり、実行しても何も問題ないと考えています。Ubuntu ではデフォルトで実行されるので、可能であればそのままにして、使用したいと考えていました。私の /etc/nsswitch.conf では、winbind は参照されていません。

ログには興味深いエラー メッセージがたくさん記録されていますが、Google で検索しても何も理解できません。以下は smb.conf にあるメッセージで、ワークステーションの 1 つが正しく接続されていないことを示しています。

[2011/08/27 19:02:04,  0] rpc_server/srv_netlog_nt.c:603(_netr_ServerAuthenticate3)
  _netr_ServerAuthenticate3: netlogon_creds_server_check failed. Rejecting auth request from client PROXIMA machine account PROXIMA$

Google の log.winbindd-idmap からこのエラーが大量に見つかりますが、何が間違っているのか、あるいは修正する必要があるのか​​どうかは明確に示されていません。(そして、そうです、NFSv4 には idmapd が必要です。) Ubuntu 特有の問題のようです。私の「構成」の何が「不完全」なのか、まったくわかりません。

[2011/08/27 19:02:04,  0] winbindd/idmap_tdb.c:287(idmap_tdb_open_db)
  Upgrade of IDMAP_VERSION from -1 to 2 is not possible with incomplete configuration
[2011/08/27 19:02:04,  1] winbindd/idmap.c:321(idmap_init_domain)
  idmap initialization returned NT_STATUS_UNSUCCESSFUL

考えるlog.winbindd からのこのメッセージは無害です。winbindd はサーバーが PDC であるか、それとも何か他のものであるかを判断しているだけだからです。

[2011/08/27 17:55:46,  0] libsmb/namequery.c:75(saf_store)
  saf_store: refusing to store 0 length domain or servername!
[2011/08/27 17:55:46,  1] rpc_client/cli_pipe.c:949(cli_pipe_validate_current_pdu)
  cli_pipe_validate_current_pdu: RPC fault code DCERPC_FAULT_OP_RNG_ERROR received from host EXCELSIOR!

最後に、私の smb.conf は次のとおりです。


[global]
        workgroup = STARFLEET
        map to guest = Bad User
        obey pam restrictions = yes
        smb passwd file = /var/lib/samba/passdb.tdb
        private dir = /var/lib/samba
        pam password change = yes
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        unix password sync = yes
        log level = 2
        load printers = yes
        printcap name = cups
        add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
        add group script = /usr/sbin/addgroup --force-badname %g
        add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
        logon script = %U.bat
        logon path =
        logon drive = Z:
        logon home =
        domain logons = yes
        os level = 65
        preferred master = yes
        domain master = yes
        wins support = yes
        usershare allow guests = yes
        use sendfile = yes

[homes]
        comment = Home Directories
        path = /data/Users/%U
        valid users = %S
        read only = no
        create mask = 0700
        directory mask = 0700

[netlogon]
        comment = Network Logon Service
        path = /var/lib/samba/netlogon
        guest ok = yes
        browseable = no
        browsable = no
        share modes = no

[printers]
        comment = All Printers
        path = /var/spool/samba
        create mask = 0700
        printable = yes
        browseable = yes
        browsable = yes

[data]
        path = /data
        read only = no
        guest ok = yes

[temp]
        path = /data/Temp
        read only = no
        guest ok = yes
[homes]
        comment = Home Directories
        path = /data/Users/%U
        valid users = %S
        read only = no
        create mask = 0700
        directory mask = 0700

それで...何が起こっているのでしょうか、そしてどうすれば修正できるのでしょうか?

関連情報