서버 설정 · 2 min read · Dec 11, 2025

CentOS 5.x Samba 도메인 컨트롤러와 LDAP 백엔드

CentOS 5.x Samba 도메인 컨트롤러와 LDAP 백엔드

이 문서에서는 CentOS 5.x(5.3에서 테스트됨, 5.4에서도 성공적으로 실행됨)를 사용하여 로컬 LDAP 백엔드와 함께 Samba 도메인 컨트롤러를 설정하는 방법을 보여줍니다. LDAP 사용자/그룹 등을 관리하기 위한 웹 인터페이스가 포함되어 있습니다.

2010년 1월 – 이제 Windows 7 도메인 로그인을 지원합니다(가이드 끝부분 참조).

selinux 비활성화:

문제만 일으킬 것입니다. 이 가이드에서는 selinux를 비활성화하는 것 외에는 SELinux를 건드리지 않겠습니다.

echo 0 >/selinux/enforce

/etc/sysconfig/selinux에서 다음을 설정합니다:

SELINUX=disabled

몇 가지 도구 설치

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm  
yum update  
yum install openldap-servers nss_ldap samba httpd openssl mod_ssl mysql mysql-server php php-xml php-ldap php-mysql php-pdo php-cli php-common smbldap-tools

이렇게 smbldap-tools를 설치하면 모든 종속 perl 모듈이 설치되어야 하지만, yum에서 제공되는 버전에는 몇 가지 버그가 있으므로, 나중에 최신 버전으로 업그레이드하겠습니다. 종속성은 유지하되 smbldap-tools 패키지는 덮어씁니다:

rpm -Uvh http://download.gna.org/smbldap-tools/packages/smbldap-tools-0.9.5-1.noarch.rpm

호스트 이름 설정

이 가이드의 목적을 위해 서버의 호스트 이름을 “dc1”로, 도메인을 “DOMAINNAME”으로 설정합니다. 참고: Samba 도메인에 fqdn을 사용하려면 아래의 dc=DOMAINNAME을 dc=example,dc=com으로 바꾸십시오. fqdn이 example.com이라고 가정합니다. 또한 “root”는 Samba 관리자 사용자 이름이므로, 원하지 않으면 변경하십시오. 관련된 줄은: cn=rootcn: root입니다.

/etc/hosts에서 다음과 같이 줄을 추가하거나 교체합니다(파일의 형식에 따라, 192.168.0.5가 서버의 네트워크 접근 가능한 IP라고 가정):

192.168.0.5 dc1.DOMAINNAME dc1

명령줄에서 호스트 이름을 설정합니다:

hostname dc1.DOMAINNAME

마스터 비밀번호 생성 및 ldap 설정

slappasswd

slappasswd의 출력을 기록해 두십시오. 잠시 후 slapd.conf에 삽입할 것입니다.

mv -f /etc/openldap/slapd.conf /etc/openldap/slapd.conf.dist

다음 텍스트를 /etc/openldap/slapd.conf에 삽입합니다:

include /etc/openldap/schema/core.schema  
include /etc/openldap/schema/cosine.schema  
include /etc/openldap/schema/inetorgperson.schema  
include /etc/openldap/schema/nis.schema  
include /etc/openldap/schema/samba.schema  
  
allow bind_v2  
pidfile /var/run/openldap/slapd.pid  
argsfile /var/run/openldap/slapd.args  
  
database bdb  
suffix "dc=DOMAINNAME"  
rootdn "cn=root,dc=DOMAINNAME"  
rootpw {SSHA}TTzshhAbmZPPb8F2s7sgf9B+IrZt+nUD  
password-hash {SSHA}  
directory /var/lib/ldap  
  
index cn,sn,uid,displayName pres,sub,eq  
index uidNumber,gidNumber eq  
index sambaSID eq  
index sambaPrimaryGroupSID eq  
index sambaDomainName eq  
index objectClass pres,eq  
index default sub

위 텍스트의 rootpw 줄에 slappasswd의 출력을 붙여넣습니다.

cp /usr/share/doc/samba-3.*/LDAP/samba.schema /etc/openldap/schema/  
cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG  
chown ldap:ldap /var/lib/ldap/DB_CONFIG  
chmod 600 /var/lib/ldap/DB_CONFIG

다음 텍스트를 /etc/openldap/init.ldif에 삽입합니다:

dn: dc=DOMAINNAME
objectclass: dcObject
objectclass: organization
o: CentOS Directory Server
dc: DOMAINNAME
dn: cn=root,dc=DOMAINNAME
objectclass: organizationalRole
cn: root
slapadd -l /etc/openldap/init.ldif  
chown -R ldap:ldap /var/lib/ldap  
chmod 600 /var/lib/ldap/*  
slapcat

slapcat은 다음과 유사한 출력을 생성해야 합니다:

dn: dc=DOMAINNAME
objectClass: dcObject
objectClass: organization
o: CentOS Directory Server
dc: DOMAINNAME
structuralObjectClass: organization
entryUUID: 717d1b1e-ce90-102d-88c3-df22563ebfee
creatorsName: cn=root,dc=DOMAINNAME
modifiersName: cn=root,dc=DOMAINNAME
createTimestamp: 20090506134920Z
modifyTimestamp: 20090506134920Z
entryCSN: 20090506134920Z#000000#00#000000
dn: cn=root,dc=DOMAINNAME
objectClass: organizationalRole
cn: root
structuralObjectClass: organizationalRole
entryUUID: 71858556-ce90-102d-88c4-df22563ebfee
creatorsName: cn=root,dc=DOMAINNAME
modifiersName: cn=root,dc=DOMAINNAME
createTimestamp: 20090506134920Z
modifyTimestamp: 20090506134920Z
entryCSN: 20090506134920Z#000001#00#000000
service ldap start  
chkconfig ldap on  
ldapsearch -x -b "dc=DOMAINNAME"

ldapsearch의 출력은 다음과 유사해야 합니다:

# extended LDIF
#
# LDAPv3
# base  with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# DOMAINNAME
dn: dc=DOMAINNAME
objectClass: dcObject
objectClass: organization
o: CentOS Directory Server
dc: DOMAINNAME
# root, DOMAINNAME
dn: cn=root,dc=DOMAINNAME
objectClass: organizationalRole
cn: root
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2
Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.