서버 설정 · 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=root 및 cn: root입니다.
/etc/hosts에서 다음과 같이 줄을 추가하거나 교체합니다(파일의 형식에 따라, 192.168.0.5가 서버의 네트워크 접근 가능한 IP라고 가정):
192.168.0.5 dc1.DOMAINNAME dc1명령줄에서 호스트 이름을 설정합니다:
hostname dc1.DOMAINNAME마스터 비밀번호 생성 및 ldap 설정
slappasswdslappasswd의 출력을 기록해 두십시오. 잠시 후 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: rootslapadd -l /etc/openldap/init.ldif
chown -R ldap:ldap /var/lib/ldap
chmod 600 /var/lib/ldap/*
slapcatslapcat은 다음과 유사한 출력을 생성해야 합니다:
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#000000service 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
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.