プロジェクト

全般

プロフィール

OpenLDAP(新形式)の導入設定

インストール

  • 次のコマンドでインストールする
    yum install openldap-servers openldap-clients
    

初期設定

ログ出力の設定

  • デフォルトではログ出力しない為、rsyslogの設定ファイルを編集してログを取るようにする。
    vi /etc/esyslog.conf
    --------------------
    # OpenLDAP
    local4.*                                                /var/log/slapd.log
    
  • rsyslogをリロードする
    systemctl restart rsyslog
    

BerkleyDBの設定ファイルコピー

  • 次のコマンドでファイルをコピーする
    cp -p /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
    
  • 次のコマンドでオーナーを変更する
    chown ldap.ldap /var/lib/ldap/DB_CONFIG
    

データベースの作成

  • slapdが起動していたら一度停止する
    systemctl stop slapd
    
  • サンプルのデータベースを削除
    rm /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif
    
  • 次の定義を作成
    vi /etc/openldap/database.ldif
    --------------------
    dn: olcDatabase=hdb,cn=config
    objectClass: olcHdbConfig
    olcDatabase: hdb
    olcDbDirectory: /var/lib/ldap
    olcSuffix: dc=example,dc=com
    olcRootDN: cn=Manager,dc=example,dc=com
    olcAccess: to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by * none
    
  • slapdを起動する
    systemctl start slapd
    
  • 前述のデータベース定義を書き込む
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/database.ldif
    
    (結果)
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    adding new entry "olcDatabase=hdb,cn=config" 
    

管理者情報の登録

  • パスワードを作成
    slappasswd
    
    New password:(パスワードを入力)
    Re-enter new password:(パスワードを入力)
    {SSHA}*******************(この文字列をコピー)
    
  • basednと管理者情報の定義を作成
    vi /etc/openldap/manager.ldif
    --------------------
    dn: dc=example,dc=com
    dc: example
    o: example.com
    objectClass: dcObject
    objectClass: organization
    
    dn: cn=Manager,dc=example,dc=com
    objectClass: organizationalRole
    objectClass: simpleSecurityObject
    cn: Manager
    userPassword: {SSHA}*******************(先ほどのパスワード文字列)
    
  • basednと管理者情報を登録する
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/database.ldif
    
    (結果)
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    adding new entry "dc=example,dc=com" 
    
    adding new entry "cn=Manager,dc=example,dc=com" 
    

ユーザ用のスキーマ(PosixAccount)をインクルード

  • 次のコマンドを実行
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
    
    (結果)
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    adding new entry "cn=cosine,cn=schema,cn=config" 
    
  • 次のコマンドを実行
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
    
    (結果)
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    adding new entry "cn=nis,cn=schema,cn=config" 
    

ユーザ用スキーマ(inetOrgPerson)をインクルード

  • 次のコマンドを実行
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
    
    (結果)
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    adding new entry "cn=inetorgperson,cn=schema,cn=config" 
    

ユーザ・グループの登録

グループの登録

  • グループ情報の定義を作成
    vi /etc/openldap/group.ldif
    --------------------
    dn: ou=Users,dc=example,dc=com
    ou: Users
    objectClass: organizationalUnit
    
  • 管理者情報を登録する
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/group.ldif
    
    (結果)
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    adding new entry "ou=Users,dc=example,dc=com" 
    

ユーザの登録

  • ユーザ情報の定義を作成
    vi /etc/openldap/user.ldif
    --------------------
    dn: uid=user01,ou=Users,dc=example,dc=com
    objectClass: inetOrgPerson
    objectClass: posixAccount
    uid: user01
    cn: user 01
    sn: test user
    uidNumber: 10001
    gidNumber: 10001
    homeDirectory: /home/user01
    
  • ユーザ情報を登録する
    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/user.ldif
    
    (結果)
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    adding new entry "uid=user01,ou=Users,dc=cvtest,dc=local" 
    

結果を検索

  • 次のコマンドでユーザを検索
    ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b uid=user01,ou=Users,dc=example,dc=com
    
    (結果)
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    dn: uid=user01,ou=Users,dc=example,dc=com
    objectClass: inetOrgPerson
    objectClass: posixAccount
    uid: user01
    cn: user 01
    sn: test user
    uidNumber: 10001
    gidNumber: 10001
    homeDirectory: /home/user01