インストール †# yast2 ldapcpplib ldapsmb openldap2 openldap2-client openldap2-devel perl-ldap perl-ldap-ssl yast2-ldap yast2-ldap-client yast2-ldap-server を追加 slappasswd New password: <- パスワードを入力 (とりあえずルーパス) Re-enter new password: <- 再入力 出てきた文字列をどこかに保存 slapd.confの設定 †
# vi /etc/openldap/slapd.conf # include /etc/openldap/schema/rfc2307bis.schema <-- コメントアウト include /etc/openldap/schema/nis.schema <<<<<========= snip =========>>>>> suffix "dc=asap" rootdn "cn=Manager,dc=asap" rootpw {SSHA}HOGEHOGEHOGE <<<<<========= snip =========>>>>> access to attrs=userPassword,userPKCS12 # by * auth <-- コメントアウト by self write by dn="cn=Manager,dc=asap" by anonymous auth by * none access to * # by * read <-- コメントアウト by dn="cn=Manager,dc=asap" by self write by * read
BASE dc=asap
base dc=asap
# /etc/init.d/ldap start
# chkconfig ldap on LDAPエントリデータ作成 †データをファイルから読み込ませると失敗する、、ので直接入力. # ldapadd -h localhost -x -D "cn=Manager,dc=asap" -W Enter LDAP Password: <- 管理用パスワード <Enter> dn: dc=asap <Enter> objectClass: dcObject <Enter> objectclass: organization <Enter> o: asap Organization <Enter> dc: asap <Enter> ここで 「Ctrl」-「D」 adding new entry "dc=asap" dn:cn=Manager,dc=asap <Enter> objectClass:organizationalRole <Enter> cn:Manager <Enter> ここで 「Ctrl」-「D」 adding new entry "cn=Manager,dc=asap" <Enter> dn:ou=People,dc=asap <Enter> objectClass:organizationalUnit <Enter> ou:People <Enter> ここで 「Ctrl」-「D」 adding new entry "ou=People,dc=asap" <Enter> dn:ou=Group,dc=asap <Enter> objectClass:organizationalUnit <Enter> ou:Group <Enter> ここで 「Ctrl」-「D」 adding new entry "ou=Group,dc=asap" <Enter> ここで 「Ctrl」-「D」で抜ける
# slapcat OpenSSLによる証明書 †openssl.cnfの編集 †[ CA_default ] dir = /var/ssl このへんを設定しておくと後が楽 [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = JP countryName_min = 2 countryName_max = 2 #stateOrProvinceName = State or Province Name (full name) #stateOrProvinceName_default = Kanagawa localityName = Locality Name (eg, city) localityName_default = Yokohama 0.organizationName = Organization Name (eg, company) 0.organizationName_default = Keio University # we can do this but it is not needed normally :-) 1.organizationName = Second Organization Name (eg, company) 1.organizationName_default = Amano Lab, ASAP Group organizationalUnitName = Organizational Unit Name (eg, section) organizationalUnitName_default = commonName = Common Name (eg, your name or your server's hostname) commonName_max = 64 emailAddress = Email Address emailAddress_max = 40 CA.plの編集 †# cd /usr/share/ssl/misc # cp CA.pl CA-hop.pl $DAYS="-days 3650"; $REQ="openssl req $SSLEAY_CONFIG"; $CA="openssl ca $SSLEAY_CONFIG"; $VERIFY="openssl verify"; $X509="openssl x509"; $PKCS12="openssl pkcs12"; $CATOP="/var/ssl"; $CAKEY="cakey.pem"; $CACERT="cacert.pem"; CAの作成 †# /usr/share/ssl/misc/CA-hop.pl -newca CSRの作成 †# /usr/share/ssl/misc/CA-hop.pl -newreq 署名 †# /usr/share/ssl/misc/CA-hop.pl -sign # cp /usr/share/ssl/misc/new * /var/ssl LDAP設定ファイル編集 †
# vi /etc/openldap/slapd.conf TLSCACertificateFile /etc/pki/CA/cacert.pem TLSCertificateFile /etc/pki/tls/certs/server.crt TLSCertificateKeyFile /etc/pki/tls/private/server.key
# vi /etc/ldap.conf tls_cacertdir /etc/pki/tls/certs tls_cacert /etc/pki/tls/certs/server.crt
# vi /etc/sysconfig/openldap OPENLDAP_START_LDAPS="yes"
# /etc/init.d/ldap restart
# ldapsearch -x -H "ldaps://localhost" result: 0 Success とかが返ってくればOK マイグレーション †ツールキット入手 †
# cd /tmp # wget http://www.padl.com/download/MigrationTools.tgz # cd /usr/lib/openldap # tar zxvf /tmp/MigrationTools.tgz # mv MigrationTools47 migration altairより設定ファイルを持ってくる †# ssh altair # cd /var/yp/src # cp passwd ~nisikawa/asap/passwd # cp group ~nisikawa/asap/group # vi ~nisikawa/asap/passwd ASAP関連の人のみを残す homeDirectoryの項目は /home/hlab/hogehoge --> /home/asap4/hogehoge に変更 # vi ~nisikawa/asap/group ASAP人が関係するグループのみを残す # for i in passwd group > chown root:root $i > chmod 600 $i done #exit マイグレーション †# mkdir /root/ldif # cd /usr/lib/openldap/migration # ./migrate_passwd.pl ~nisikawa/asap/passwd > /root/ldif/passwd.ldif # ./migrate_group.pl ~nisikawa/asap/group > /root/ldif/group.ldif # vi /root/ldif/passwd.ldif # vi /root/ldif/group.ldif dc=padl,dc=com のところを dc=asap に書き換える # ldapadd -h localhost -x -D "cn=Manager,dc=asap" -W -f passwd.ldif # ldapadd -h localhost -x -D "cn=Manager,dc=asap" -W -f group.ldif クライアントの設定 †# yast2 # nss_ldap, pam_ldap, ldap_apacheなんとかをインストール # Network Services > LDAP Client (x) Use LDAP <--- チェックボックス Addresses of LDAP Servers: 192.168.4.1 LDAP base DN: dc=asap [x] LDAP TLS/SSL <--- チェックボックス # mkdir /etc/openldap/cacerts # scp hop:/etc/pki/certs/cacert.pem /etc/openldap/cacerts/ # vi /etc/openldap/ldap.conf URI ldap://192.168.4.1 を追加 # vi /etc/ldap.conf uri ldap://192.168.4.1 を追加 tls checkpeer yes <-- コメントアウトを外す tls_cacertfile /etc/openldap/cacerts/cacert.pem tls_cacertdir /etc/openldap/cacerts # /etc/init.d/nscd restart |