samba smbpasswd NT_STATUS_ACCESS_DENIED gid_to_sid: winbind가 gid 100에 대한 sid를 찾지 못했습니다.

samba smbpasswd NT_STATUS_ACCESS_DENIED gid_to_sid: winbind가 gid 100에 대한 sid를 찾지 못했습니다.

SLES 11.4를 실행 중인데 사용자가 smbpasswd. smbpasswd사용자 계정에 대해 루트로 작업하면 작동합니다. 일단 smbpasswd설정되면 Samba 서버는 제대로 작동하고 사용자는 필요한 모든 것에 액세스하거나 액세스하지 않을 수 있습니다. 특히 에 기록하는 레벨 10으로 로깅을 켜면서 /var/log/samba.log다음을 발견했습니다.

gid_to_sid: winbind failed to find a sid for gid 100
LEGACY: gid 100 -> sid S-1-22-2-100

Forcing Primary Group to 'Domain Users' for ron

이 로그 파일은 Linux에 일반 사용자로 로그인한 상태에서 명령 프롬프트에서 다음을 수행하기 위해 생성되었습니다. 성공처럼 보이지만 smbpasswd는 변경되지 않습니다.

ron/Desktop> smbpasswd
Old SMB password:
New SMB password:
Retype new SMB password:

cli_negprot: SMB signing is mandatory and the server doesn't support it.
machine 127.0.0.1 rejected the negotiate protocol. Error was : NT_STATUS_ACCESS_DENIED.
Password changed for user ron

ron/Desktop>

문제가 무엇인지, 해결 방법을 아는 사람이 있나요? 하나의 폴더를 공유하고 모든 삼바 비밀번호를 로컬에서 수행하여 가능한 한 간단하게 삼바 서버를 실행하려고 합니다.

답변1

따라서 테스트하는 경우 루트가 아닌 사용자로서 smbpasswd를 사용할 때 비밀번호 길이가 5자 이상이어야 하는 것 같습니다. 4개를 사용했을 때는 실패했지만 5개 이상은 작동했습니다. 루트로서 smbpasswd <username>모든 문자 길이를 성공적으로 수행할 수 있습니다. 그러니 명심하세요.

내 /etc/samba/smb.conf 파일은 이것이며 문제가 해결되었습니다. 특히 아무런 영향 server signing = autoobey pam restrictions없는 것 같습니다. 모든 비밀번호 요구 사항(아래 그림 참조)을 여러 번 변경하고 smb 및 nmb를 다시 시작하여 확인했는데 다음과 같습니다. 모든 것을 작동하게 만드는 것은server signing = auto

여기에 이미지 설명을 입력하세요

[global]
        workgroup = abc.com
        passdb backend = tdbsam
        map to guest = Bad User
        usershare allow guests = No
        add machine script = /usr/sbin/useradd  -c Machine -d /var/lib/nobody -s /bin/false %m$
        domain master = No
        security = user
        wins support = No
        log file = /var/log/samba.log
        log level = 10
#       client signing = auto
        server signing = auto      {need this to allow users to use smbpasswd successfully}

#       obey pam restrictions = Yes
#       pam password change = Yes

관련 정보