ネットワーク備忘録

アラフォーエンジニアのネットワーク系の備忘録。twitter:@deigo25374582

OpenLDAP_クライアントLDAP認証化

前回の続きで、ユーザ登録&LDAPSを実施

klock-3rd.hatenablog.com

 

 

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認証に変更

 

4.SSHの認証をLDAPへ変更

#  yum install nscd nss-pam-ldapd

 PAMのLDAP関連については、追加でモジュールをインストールする必要あり。

 

5.authconfig-tuiでの設定変更

f:id:klock_3rd:20160724121209p:plain

→「LDAP 認証を使用」にチェック

f:id:klock_3rd:20160724121318p:plain

 

6.「/etc/nsswitch.conf」の編集(LDAPでの確認を追加)

# vi /etc/nsswitch.conf

passwd: files ldap
shadow: files ldap
group: files ldap

「/etc/nslcd.conf」はauthconfig-tuiで編集後に自動的に「uri ldap://192.168.1.215/」
「base dc=linux,dc=com」に生成されているはず。 なければ記載。

 

7.SSHLDAP連携確認

 # 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$

-bash-4.1$ id
uid=1000(test01) gid=1000 所属グループ=1000

 クライアントの/etc/passwdにtest01は存在しないが、SSHでログインできた。

「/home/test01」ディレクトリがない警告、gid 1000がないという警告が出ているけど、とりあえずSSHLDAP認証に変わったのでよしとする。

 

一旦ここまで