サーバー設定 · 1 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ユーザー/グループ/etcを管理するためのWebインターフェースが含まれています。
2010年1月 – Windows 7ドメインログインのサポートを追加(ガイドの最後を参照)。
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の部分を、fqdnがexample.comであると仮定して、dc=example,dc=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: root
slapadd -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#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
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。