OpenLDAP_クライアントLDAP認証化
前回の続きで、ユーザ登録&LDAPSを実施
1.test01を登録
# slappasswd -s test01
{SSHA}3tkSlyDka99dTtWUnWWlmwSl2E3sAmK9# vi linux_user.ldif
dn: uid=test01,ou=admin,dc=linux,dc=com
objectClass: posixAccount
objectClass: inetOrgPerson
sn: tanaka
cn: ichiro
uid: test01
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/test01
loginShell: /bin/bash
userPassword: {SSHA}3tkSlyDka99dTtWUnWWlmwSl2E3sAmK9
# ldapadd -x -D cn=Manager,dc=linux,dc=com -f linux_user.ldif -w manager
Linuxアカウントの場合は、デフォルトで用意されている「posixAccount」というオブジェクトClassが最低限必要。 ほかにも、「posixGroup」といったClassもあるみたいだけど、そこを調べるときりがないのでまずはこのまま
2.実際に登録されたか確認
# ldapwhoami -D "uid=test01,ou=admin,dc=linux,dc=com" -w test01
dn:uid=test01,ou=admin,dc=linux,dc=com
・・・とりあえず、この段階で最低限のユーザ情報は投入。
今度は別サーバからLDAPでの認証を実施。
LDAPサーバ→192.168.1.215/24
LDAPクライアント→192.168.1.216/24
LDAPクライアントの情報は↓
# cat /etc/redhat-release
CentOS release 6.7 (Final)
# rpm -qa | grep openldap
openldap-clients-2.4.40-12.el6.x86_64
openldap-2.4.40-12.el6.x86_64
3.LDAPクライアントからldapwhoamiで疎通確認
ldapwhoami -H ldap://192.168.1.215 -D\ "uid=test01,ou=admin,dc=linux,dc=com" -w test01
dn:uid=test01,ou=admin,dc=linux,dc=com
とりあえず、LDAPでのユーザ情報の取得はできている。
ここからOSへのSSHログインをLDAP認証に変更
# yum install nscd nss-pam-ldapd
PAMのLDAP関連については、追加でモジュールをインストールする必要あり。
5.authconfig-tuiでの設定変更
→「LDAP 認証を使用」にチェック
6.「/etc/nsswitch.conf」の編集(LDAPでの確認を追加)
# vi /etc/nsswitch.conf
「/etc/nslcd.conf」はauthconfig-tuiで編集後に自動的に「uri ldap://192.168.1.215/」
「base dc=linux,dc=com」に生成されているはず。 なければ記載。
# service nslcd restart
nslcd を停止中: [ OK ]
nslcd を起動中: [ OK ]
# cat /etc/passwd | grep test01
# ssh test01@localhost
test01@localhost's password:
Last login: Sun Jul 24 11:19:44 2016 from 192.168.1.22
Could not chdir to home directory /home/test01: No such file or directory
id: cannot find name for group ID 1000
-bash-4.1$
クライアントの/etc/passwdにtest01は存在しないが、SSHでログインできた。
「/home/test01」ディレクトリがない警告、gid 1000がないという警告が出ているけど、とりあえずSSHがLDAP認証に変わったのでよしとする。
一旦ここまで