
내 Linux 상자에서 Active Directory 인증을 사용하도록 하려고 합니다. 나는 거의 모든 것이 올바르게 설정되었다고 생각합니다. 모든 그룹과 사용자를 각각 발행 wbinfo -g
하고 볼 수 있습니다 .wbinfo -u
내 설정에 대한 간략한 소개:
관리 작업을 수행하기 위해 Linux 상자에서 사용하는 사용자 이름은 입니다 nick
. 내 활성 디렉터리 사용자 이름은 입니다 nwalke
. 두 개의 서로 다른 비밀번호가 있습니다. 나는 해당 사용자의 비밀번호로 상자에 로그인할 수 있고 의 비밀번호 로 nick
로그인할 수도 있습니다 .nwalke
nwalke
궁금한 점:
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
.
그런데 우연히 nick
UID가 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 파일에서 벗어납니다 .)nwalke
nick
id
sudo
ls
/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를 중지하고 거기에 있는 모든 파일을 이동/삭제해 볼 수도 있지만 컴퓨터 계정 자격 증명도 해당 데이터베이스 중 하나에 저장되어 있으므로 도메인에 다시 가입해야 합니다.