서버 설정 · 4 min read · Dec 12, 2025
CentOS 5.x Samba 도메인 컨트롤러 LDAP 백엔드 - 2페이지
ldap 디렉토리의 원격 관리 설정
/etc/php.ini를 편집하고 memory_limit가 최소 32MB로 설정되어 있는지 확인합니다:
memory_limit = 32M마지막으로 확인했을 때, yum을 통해 사용할 수 있는 phpldapadmin 버전이 깨져 있었으므로, 최신 버전을 다운로드하여 추출하겠습니다: http://sourceforge.net/project/showfiles.php?group_id=61828&package_id=177751로 이동하여 최신 버전을 다운로드합니다. 제 경우에는 다음 명령어가 실행되었습니다. 귀하의 패키지는 더 최신일 수 있습니다:
mkdir /var/www/html/samba && cd /var/www/html/samba
wget http://softlayer.dl.sourceforge.net/sourceforge/phpldapadmin/phpldapadmin-1.1.0.7.tar.gz
tar zxf phpldapadmin-1.1.0.7.tar.gz
ln -s phpldapadmin-1.1.0.7 pla
cp pla/config/config.php.example pla/config/config.php이제 ./pla/config/config.php를 편집하고 다음 줄의 주석을 제거합니다:
$config->custom->jpeg['tmpdir'] = "/tmp";새로 설정한 소프트웨어 사용 가능하게 만들기
service httpd restart
chkconfig httpd on/etc/sysconfig/iptables를 편집하고 ssh에 대한 줄을 복사하여 수정합니다 (–dport 22 -j ACCEPT), 그리고 그 뒤에 다음을 추가합니다 (CentOS 설치가 기본 iptables 파일을 생성했다고 가정):
#Https:// 허용
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
#samba 허용:
-A RH-Firewall-1-INPUT -m multiport -p udp --dport 137,138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m multiport -p tcp --dport 139,445 -j ACCEPT
이제 웹 브라우저를 열고 https://192.168.0.5/samba/pla/를 방문하여 사용자 이름 cn=root,dc=DOMAINNAME 및 비밀번호로 로그인합니다. 주변을 둘러보고 약간의 쓰레기를 볼 수 있어야 합니다.
ldap 및 Samba 통합
mv /etc/samba/smb.conf /etc/samba/smb.conf.dist
cp /usr/share/doc/smbldap-tools-0.9.5/smb.conf /etc/samba/smb.conf/etc/samba/smb.conf를 원하는 대로 편집합니다. 기본 ldap 부분은 괜찮아야 합니다.
[global] 아래에 기본적으로 없는 세 가지 설정을 추가해야 합니다:
ldap ssl = off
nt acl support = yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 SO_KEEPALIVE
cp /usr/share/doc/smbldap-tools-0.9.5/smbldap.conf /etc/smbldap-tools/smbldap.conf
net getlocalsid참고, net getlocalsid는 아직 samba를 완전히 구성하지 않았기 때문에 끝까지 오류가 발생할 것입니다 – 하지만 다음 단계에 필요한 sid를 생성할 것입니다.
/etc/smbldap-tools/smbldap.conf를 편집하고 sid, domain, etc를 파일 끝까지 삽입합니다.
/etc/smbldap-tools/smbldap_bind.conf를 편집하고 두 개의 해당 줄을 변경하여 “secret”을 비밀번호로 변경합니다.
chmod 644 /etc/smbldap-tools/smbldap.conf
chmod 600 /etc/smbldap-tools/smbldap_bind.conf
authconfig-tuiauthconfig-tui의 출력에 다음이 포함되어 있는지 확인합니다:
[ ] 로컬 인증이 충분합니다이제 samba 구성을 테스트합니다:
testparmsmbpasswd -w YOUR_ROOT_LDAP_PASS_HERE
smbldap-populatesmbldap-populate는 비밀번호를 요청할 것이며, 입력합니다.
LDAP Samba 설치 시작하기
/etc/init.d/smb start
chkconfig smb on사용자/그룹 추가, unix와 ldap 간의 상관관계:
useradd user1
smbldap-useradd -a -G 'Domain Users' -m -s /bin/bash -d /home/user2 -F "" -P user1LDAP가 가정하는 아직 없는 UNIX 그룹의 그림을 얻습니다:
net groupmap list출력은 다음과 같습니다:
Domain Admins (S-1-5-21-990788473-1556064292-4137819756-512) -> domain_admins
Domain Users (S-1-5-21-990788473-1556064292-4137819756-513) -> domain_users
Domain Guests (S-1-5-21-990788473-1556064292-4137819756-514) -> 514
Domain Computers (S-1-5-21-990788473-1556064292-4137819756-515) -> 515
Administrators (S-1-5-32-544) -> 544
Account Operators (S-1-5-32-548) -> 548
Print Operators (S-1-5-32-550) -> 550
Backup Operators (S-1-5-32-551) -> 551
Replicators (S-1-5-32-552) -> 552
제안된 GID를 사용하여 unix에 상관관계 그룹을 추가합니다:
groupadd -g 514 samba_domain_guests
groupadd -g 515 samba_domain_computers
groupadd -g 544 samba_administrator
groupadd -g 548 samba_account_operators
groupadd -g 550 samba_print_operators
groupadd -g 551 samba_backup_operators
groupadd -g 552 samba_replicatorsLDAP/Samba에 내장되지 않은 그룹을 추가하려면, 예를 들어 어떤 사용자가 공유에서 파일을 읽거나 쓸 수 있는지를 제어하기 위해 그룹에 따라 결정하도록 하려면:
smbldap-groupadd -a "우리 사무실의 사람들"그런 다음 net groupmap list의 출력을 다시 얻고 새로 생성된 그룹 번호를 상관관계 지어 unix 시스템에 그룹을 추가합니다:
groupadd -g 1001 samba_people_in_our_office웹 인터페이스를 통해 LDAP 그룹에 사용자를 추가한 다음, unix에서 상관관계를 지어줍니다:
usermod -a -G UNIX_GROUP_NAME UNIX_USERNAME또한 위에서 언급한 “samba_domain_computers” 그룹을 사용하여 unix에 컴퓨터 계정을 추가하고, 허용된 컴퓨터 이름이 “$”로 끝나는 경우:
useradd -M -g 515 -s /bin/false officecomp1$마지막으로, 반드시 필요하지는 않지만, CentOS가 기본적으로 실행하는 불필요한 서비스를 끄고 싶을 수 있습니다. 저는 저가 특별히 다음의 어떤 것도 필요하지 않다고 판단했습니다. 귀하의 경우 다를 수 있으므로 끄기 전에 확인하십시오:
chkconfig ntpd off
chkconfig bluetooth off
chkconfig xinetd off
chkconfig smartd off
chkconfig yum-updatesd off
chkconfig rpcidmapd off
chkconfig rpcgssd off
chkconfig restorecond off
chkconfig portmap off
chkconfig pcscd off
chkconfig nfslock off
chkconfig mcstrans off
chkconfig mdmonitor off
chkconfig irqbalance off
chkconfig kudzu off
chkconfig ip6tables off
chkconfig hidd off
chkconfig gpm off
chkconfig haldaemon off
chkconfig autofs off
chkconfig avahi-daemon off
service ntpd stop
service bluetooth stop
service xinetd stop
service smartd stop
service yum-updatesd stop
service rpcidmapd stop
service rpcgssd stop
service restorecond stop
service portmap stop
service pcscd stop
service nfslock stop
service mcstrans stop
service mdmonitor stop
service irqbalance stop
service kudzu stop
service ip6tables stop
service hidd stop
service gpm stop
service haldaemon stop
service autofs stop
service avahi-daemon stop(선택 사항) Windows 7 컴퓨터가 도메인에 가입할 수 있도록 Samba 업그레이드
/etc/samba/smb.conf에서 ldap ssl = off가 설정되어 있는지 확인합니다. 이는 CentOS 배포판 버전의 Samba가 제대로 실행되기 위해 필요하지 않았지만, 업그레이드 후에는 필요할 것입니다 (3.0.x 대 3.3.x, Windows 7을 지원합니다).
Sernet에서 CentOS용으로 빌드된 최신 samba RPM을 가져오겠습니다:
cd /etc/yum.repos.d/
wget http://ftp.sernet.de/pub/samba/3.3/centos/5/sernet-samba.repo
yum update귀하의 samba 패키지는 Sernet 저장소에서 업데이트됩니다.
업그레이드 이후, 우리의 CentOS samba 서비스가 사라졌습니다. 다시 추가합시다:
chkconfig --add smb
chkconfig smb on이제 Windows 7 컴퓨터를 Unix에 추가합니다 (도메인 컴퓨터 그룹 이름이 “samba_domain_computers”라고 가정):
useradd -M -g `cat /etc/group|grep samba_domain_computers|cut -d: -f3` -s /bin/false win7-computername$
usermod -a -G samba_domain_computers win7-computername$이제 이 공식 Samba 미니 가이드를 사용하여 Windows 7 PC를 도메인에 가입시킵니다:
http://wiki.samba.org/index.php/Windows7
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.