winbind 및 Samba에서 Active Directory 통합이 제대로 작동하지 않습니다.

winbind 및 Samba에서 Active Directory 통합이 제대로 작동하지 않습니다.

내 Linux 상자에서 Active Directory 인증을 사용하도록 하려고 합니다. 나는 거의 모든 것이 올바르게 설정되었다고 생각합니다. 모든 그룹과 사용자를 각각 발행 wbinfo -g하고 볼 수 있습니다 .wbinfo -u

내 설정에 대한 간략한 소개:

관리 작업을 수행하기 위해 Linux 상자에서 사용하는 사용자 이름은 입니다 nick. 내 활성 디렉터리 사용자 이름은 입니다 nwalke. 두 개의 서로 다른 비밀번호가 있습니다. 나는 해당 사용자의 비밀번호로 상자에 로그인할 수 있고 의 비밀번호 로 nick로그인할 수도 있습니다 .nwalkenwalke

궁금한 점:

Active Directory 사용자의 홈 디렉터리를 생성할 때 루트 액세스가 필요한 스크립트를 실행합니다. 이는 삼바 공유와 같은 시스템 전반에 걸친 일부 항목을 설정하는 것입니다. 로 로그인할 때 비밀번호를 nwalke입력하면 nwalke성공합니다. 그런 다음 으로 인사드립니다 [sudo] password for nick:. 여기에 비밀번호를 입력하면 nwalke이라고 나옵니다 Sorry, try again.. 님의 비밀번호를 입력하면 nick이라고 나옵니다 Sorry, user nick is not allowed to execute scriptname as root.

내가 그렇게 하면 groups마술 nwalke처럼 내 사용자에게 그룹이 부여된 것을 볼 수 있습니다 nick.

그런데 우연히 nickUID가 1000이 아니라 100이라고 생각했습니다. 그래서 원래 내 smb.conf폴더 에는 idmap uid 1000-10000. 내가 생각할 수 있는 유일한 것은 그것이 nwalke아직 설정되어 있는 동안 으로 로그인했는데 이제 UID가 1000으로 표시되어 Linux가 내가 nick.

여기서 어디로 가야할지 잘 모르겠습니다. 내가 말했듯이 Active Directory가 내 서버와 제대로 통신하고 있다고 확신하지만 Linux 측에서 무언가가 바로 매핑되어서는 안 됩니다.

이견있는 사람?

여기 나의 smb.conf:

[global]
    security = ads
    netbios name = hostname
    realm = COMPANY.COM
    password server = adshost.company.com
    workgroup = COMPANY
    idmap uid = 10000-90000
    idmap gid = 10000-90000
    winbind separator = +
    winbind enum users = no
    winbind enum groups = no
    winbind use default domain = yes
    template homedir = /home/%D/%U
    template shell = /bin/bash
    client use spnego = yes
    domain master = no
    load printers = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes

어떻게든 Linux 상자의 사용자를 바인딩해야 합니까?

답변1

UID가 겹치는 것 같습니다. 동일한 숫자 UID를 공유 하는
경우 , , 등과 같은 항목에 대해 첫 번째 nsswitch 일치가 승리합니다. (그리고 첫 번째 일치는 일반적으로 순서를 변경하지 않는 한 passwd 파일에서 벗어납니다 .)nwalkenickidsudols/etc/nsswitch.conf

(로그인은 이름으로 사용자를 조회하기 때문에 로그인은 두 이름 모두에서 작동합니다. 동일한 이름을 가진 두 명의 사용자가 있으면 흥미로운 혼란이 발생할 수 있습니다...)

로컬( /etc/passwd, /etc/group) 및 원격(NIS, Samba, LDAP 등) UID/GID는 겹쳐서는 안 됩니다. 핵심 문제를 해결하면 나머지는 저절로 해결됩니다.

답변2

smb.conf의 값을 10,000으로 변경했는데 여전히 nwalke가 1000과 페어링되는 것처럼 느껴집니다. 이 문제를 어떻게 해결합니까?

어떤 파일인지 기억이 나지 않고, 현재 확인할 시스템도 없습니다.

사용자가 처음 연결하면 ID가 할당되고 Samba 데이터베이스 중 하나에 저장됩니다. /var/lib/samba/ 해당 폴더를 살펴보면 그것이 어떤 파일인지 분명할 수 있습니다. Samba를 중지하고 거기에 있는 모든 파일을 이동/삭제해 볼 수도 있지만 컴퓨터 계정 자격 증명도 해당 데이터베이스 중 하나에 저장되어 있으므로 도메인에 다시 가입해야 합니다.

관련 정보