Samba 데이터베이스 "손상"을 방지하려면 어떻게 해야 합니까?

Samba 데이터베이스 "손상"을 방지하려면 어떻게 해야 합니까?

Samba 구성에 문제가 있습니다. 저는 삼바를 12~13년 정도 운영해 왔지만 이런 모습은 본 적이 없습니다. Windows 도메인에 대해 꽤 잘 알고 있던 시절이 있었지만 Windows 세계는 지나갔고 Active Directory와 함께 성장한 Samba의 다양한 측면이 나를 혼란스럽게 합니다.

내 설정은 정말 간단합니다. 디스크 공간이 있는 단일 서버와 다른 4대의 컴퓨터 간에 공유하고 싶은 프린터가 있습니다. 수년 동안 저는 단일 PDC가 포함된 간단한 도메인을 사용해 왔습니다. 최근에는 뭔가가 바뀌었습니다. Lucid로 가는 것인지 아니면 Samba의 특정 업데이트인지 알 수 없지만 데이터베이스에서 뭔가가 계속 중단됩니다.

때때로 내 계정의 비밀번호가 "잘못"되는 경우가 있습니다. 캐시된 자격 증명을 사용하여 로그인할 수는 있지만 드라이브를 마운트하거나 프린터로 인쇄할 수는 없습니다. 거의 30일에 한 번씩 일어나는 것 같아요. 어쩌면 45일지도 모르겠습니다. 서버에서 비밀번호를 재설정하는 것만으로 이 문제를 해결해 왔는데, 이게 정말 짜증이 나네요. 또한 로그를 보면 시스템 비밀번호도 오염되고 있음을 알 수 있습니다.

나는 마침내 약 12년 동안 마이그레이션하고 업데이트한 내 데이터베이스가 너무 오래되었다는 것을 짐작하여 삭제하고 새 도메인에서 처음부터 시작했습니다. 이제 그런 일이 다시 일어나고 있으므로 분명히 문제는 아니었습니다.

아마도 내 Windows 7 상자일지도 모른다고 생각했지만 이제는 XP 컴퓨터에서도 그렇게 하고 있습니다.

나는 이것이 비밀번호 만료 정책이라고 생각하지 않습니다. 그렇다면 비밀번호를 변경할 시간이라는 메시지가 표시되어야 합니다. 그렇죠? 그런 것을 조사하러 가면 netand pdbeditwbinfo명령의 다양한 순열로 인해 길을 잃습니다. 나는 일반적으로 그것들이 필요하지 않은 데 익숙합니다. 어느 시점에 내 계정을 "도메인 관리자" 그룹에 추가한 것 같은데 어떻게 했는지 기억이 나지 않습니다.

특히 내 구성에서 winbind를 실행해야 하는지 여부에 관한 문서와 혼동됩니다. 나는 그렇게 생각하지 않지만 분명히 wbinfo진단을 위해 달리는 것이 필요하며 그것을 실행함으로써 아무 것도 해치지 않을 것이라고 생각합니다. 우분투에서는 기본적으로 실행되므로 가능하면 그대로 두고 작업하고 싶었습니다. Winbind는 내 /etc/nsswitch.conf에서 참조되지 않습니다.

내 로그에 흥미로운 오류 메시지가 많이 표시되지만 Google에서는 그 중 어떤 것도 이해할 수 없도록 안내합니다. 다음은 내 워크스테이션 중 하나가 올바르게 연결되지 않았음을 알려주는 smb.conf의 내용입니다.

[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

그럼... 무슨 일이 일어나고 있는 거죠? 어떻게 해결하나요?

관련 정보