Linux
openladap
参考 †
Server †
Install (以下 su - 権限) †
yum install openldap openldap-servers openldap-clients
パスワードの準備 †
- slappasswd
- New password:[パスワード入力]
- Re-enter new password:[パスワード入力]
- {SSHA}3pVTGxVxrS7tFJXrp+sAA6EdSgO8y1NE
- vi /etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif
DB 環境構築 †
Service の起動 †
/etc/init.d/slapd start
loglevel の設定 †
LDAP の基本設定 †
- ldapsearch -x -LLL -b 'olcDatabase={2}bdb,cn=config' -D cn=config -W
- Enter LDAP Password: [上記で設定したディレクトリパスワードを入力]
- dn: olcDatabase={2}bdb,cn=config
- objectClass: olcDatabaseConfig?
- objectClass: olcBdbConfig?
- olcDatabase: {2}bdb
- olcDbDirectory?: /var/lib/ldap
- olcSuffix: dc=my-domain,dc=com
- olcAddContentAcl?: FALSE
- olcLastMod?: TRUE
- olcMaxDerefDepth?: 15
- olcReadOnly?: FALSE
- olcRootDN: cn=Manager,dc=my-domain,dc=net
データ用ディレクトリの管理情報の変更 †
- LDIF ファイルを準備し適用する方法
- vi bdb-init.ldif -W
- # 設定を行うDNを指定
- dn: olcDatabase={2}bdb,cn=config
- # このLDIFファイルで修正を行うことを宣言します
- changetype: modify
- # olcRootDNを書き換えることを指定し値を指定する
- replace: olcRootDN
- olcRootDN: cn=Manager,dc=unix-power,dc=net
- -
- # olcSuffixを書き換えることを指定し値を指定する
- replace: olcSuffix
- olcSuffix: dc=unix-power,dc=net
- -
- # olcRootPWを追加することを指定し値を指定する
- add: olcRootPW
- olcRootPW: {SSHA}en/K3sLikQDCWk/lMmWLNh8svNQ+ggf0
- GUI ツール、Apache Directory Studio
初期データの登録(以下は CUI) †
- vi init.ldif
dn: dc=unix-power,dc=net
objectclass: dcObject
objectclass: organization
o: VIRTUAL CORPORATION
dc: unix-power
dn: cn=Manager,dc=unix-power,dc=net
objectclass: organizationalRole
cn: Manager
- 登録は ldapadd コマンド
ldapadd -x -W -D "cn=Manager,dc=unix-power,dc=net" -f init.ldif
- vi add.ldif
dn: ou=Users,dc=unix-power,dc=net
objectclass: organizationalUnit
ou: Users
dn: ou=Groups,dc=unix-power,dc=net
objectclass: organizationalUnit
ou: Groups
dn: ou=Computers,dc=unix-power,dc=net
objectclass: organizationalUnit
ou: Computers
# ldapadd -x -W -D "cn=Manager,dc=unix-power,dc=net" -f add.ldif
Enter LDAP Password:
adding new entry "ou=Users,dc=unix-power,dc=net"
adding new entry "ou=Groups,dc=unix-power,dc=net"
adding new entry "ou=Computers,dc=unix-power,dc=net
- vi groupadd.ldif
dn: cn=develop,ou=Groups,dc=unix-power,dc=net
objectClass: posixGroup
cn: develop
gidNumber: 1000
dn: cn=sales,ou=Groups,dc=unix-power,dc=net
objectClass: posixGroup
cn: sales
gidNumber: 1001
dn: cn=market,ou=Groups,dc=unix-power,dc=net
objectClass: posixGroup
cn: market
gidNumber: 1002
# ldapadd -x -W -D "cn=Manager,dc=unix-power,dc=net" -f groupadd.ldif
Enter LDAP Password:
adding new entry "cn=develop,ou=Groups,dc=unix-power,dc=net"
adding new entry "cn=sales,ou=Groups,dc=unix-power,dc=net"
adding new entry "cn=market,ou=Groups,dc=unix-power,dc=net"
- vi useradd.ldif
dn: uid=takeda,ou=Users,dc=unix-power,dc=net
objectclass: posixAccount
objectclass: inetOrgPerson
sn: takeda
cn: kazuma
displayName: Takeda Kazuma
uid: takeda
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/takeda
loginShell: /bin/bash
userPassword: {CRYPT}B5fKzlwfatuy2
mail: takeda@unix-power.net
dn: uid=suzuki,ou=Users,dc=unix-power,dc=net
objectclass: posixAccount
objectclass: inetOrgPerson
sn: suzuki
cn: hajime
displayName: Suzuki Hajime
uid: suzuki
uidNumber: 1001
gidNumber: 1000
homeDirectory: /home/suzuki
loginShell: /bin/bash
userPassword: {CRYPT}B5fKzlwfatuy2
mail: suzuki@unix-power.net
dn: uid=tanaka,ou=Users,dc=unix-power,dc=net
objectclass: posixAccount
objectclass: inetOrgPerson
sn: tanaka
cn: takuya
displayName: Tanaka Takuya
uid: tanaka
uidNumber: 1002
gidNumber: 1000
homeDirectory: /home/tanaka
loginShell: /bin/bash
userPassword: {CRYPT}B5fKzlwfatuy2
mail: tanaka@unix-power.net
# ldapadd -x -W -D "cn=Manager,dc=unix-power,dc=net" -f useradd.ldif
Enter LDAP Password:
adding new entry "uid=takeda,ou=Users,dc=unix-power,dc=net"
adding new entry "uid=suzuki,ou=Users,dc=unix-power,dc=net"
adding new entry "uid=tanaka,ou=Users,dc=unix-power,dc=net"
Client †
common †
Redhat系 †
- sudo yum install openldap-clients nss-pam-ldapd
- sudo authconfig-tui
Debian系 †
- sudo apt-get install libpam-ldap libnss-ldap nss-updatedb libnss-db
- Should debconf manage LDAP configuration?
<はい>
- LDAP server Uniform Resource Identifier:
ldap://123.456.789.012/
- Distinguished name of the search base:
dc=tar3,dc=net
- LDAP version to use:
3
- Make local root Database admin:
<はい>
- Does the LDAP database require login?
<いいえ>
- LDAP account for root:
cn=Manager,dc=tar3,dc=net
- LDAP root account password:
[LDAP root account password]
- The meanings for selections are:
<了解>
- Local crypt to use when changing passwords:
exop
- sudo vi /etc/pam.d/sshd
# Create home directory automatically.
session required pam_mkhomedir.so skel=/etc/skel/ umask=0007
- sudo vi /etc/nsswitch.conf
passwd: files ldap
group: files ldap
shadow: files ldap
netgroup: ldap
- 確認
getent passwd
- sudo 時、password を2回聞かれる問題
sudo vi /etc/pam.d/common-auth
- before
auth [success=1 default=ignore] pam_ldap.so use_first_pass
- after
auth [success=1 default=ignore] pam_ldap.so try_first_pass
- x ログイン時にユーザー名が表示されない
- ctrl + alt + F1 を押してコンソールへ。一度、ldap ユーザーでログインする。
ApacheDirectoryStudio? †
setButton(GtkWidget?*): アサーション `!_button._widget' に失敗しました。 †