CentOS7에서 Openldap 빌드 - 3. LDAP 클라이언트 설정 절차

LDAP 로그인을 적용하고 싶은 서버에 대해 SSH와 LDAP 로그인을 설정합니다. 마지막 기사 로 LDAP 서버를 구축했으므로 그 계속이 됩니다.

또한 LDAP 계정을 가진 사람이 각자 GUI에서도 암호 변경할 수 있도록,
usermin이라는 도구도 설치합니다.

LDAP 클라이언트 설치 및 설정



※root 유저로의 작업이 됩니다.

패키지 설치


yum install nss-pam-ldapd oddjob-mkhomedir openssh-ldap

oddjob-mkhomedir 서비스 시작 및 자동 시작 사용


systemctl start oddjobd.service
systemctl enable oddjobd.service

authconfig 실행


authconfig --enableldap --enableldapauth --ldapserver="ldap://LDAPサーバのIP/" --ldapbasedn="dc=test,dc=org" --enablemkhomedir --update
※getsebool:  SELinux is disabled と表示されますが気にしなくていいです。

nclcd 설정


vi /etc/nslcd.conf
※冗長構成の場合、以下のように1号機の記載の下に2号機も追加
---
uri ldap://LDAPサーバ1号機のIP/
uri ldap://LDAPサーバ2号機のIP/
---

"base dc=test,dc=org"の記載の下あたりに以下追加。
ログインできるユーザを絞る設定です。
---
filter passwd (&(|(description=ALL)(description=Infra))(!(description=LOCKOUT)))
---

filter의 설정은 그 서버에 로그인할 수 있는 유저를 제한하는 것입니다.
설정의 의미는 「사용자의 description 속성에, 「ALL」또는 「Infra」라고 기재가 있는 유저, 한편 「LOCKOUT」이라고 기재되어 있지 않은 유저는 이 서버에 로그인할 수 있다」라고 하는 내용입니다.
그 때문에 전회의 기사로 작성한 테스트 유저의 description 속성에 "Infra"라고 기재하고 있습니다.

nslcd 재부팅


systemctl restart nslcd.service
systemctl enable nslcd.service

openssl-ldap 설정


vi /etc/ssh/ldap.conf
---
uri ldap://LDAPサーバのIP/
base dc=test,dc=org
ssl no
---

sshd.config 설정


vi /etc/ssh/sshd_config
---
PubkeyAuthentication yes
PasswordAuthentication no
AuthorizedKeysCommand /usr/libexec/openssh/ssh-ldap-wrapper
AuthorizedKeysCommandUser root
---

동작 확인


/usr/libexec/openssh/ssh-ldap-wrapper [LDAPに登録したユーザ名]
※LDAPサーバに設定したSSH公開鍵が表示されること

sshd 재부팅


systemctl restart sshd

sudo 설정


visudo
---
%infra ALL=(ALL) NOPASSWD: ALL
---

 infra라는 그룹에 속한 사용자는 sudo권을 부여한다는 설정입니다. 이전 기사에서 만든 테스트 사용자의 gidNumber는 10000이며 infra 그룹에 속하기 때문에 루트가 될 수 있습니다.

○ 그 후 LDAP 서버에 등록한 테스트 유저와 키로 로그인할 수 있어 루트가 될 수 있는 것을 확인해 주세요.
Creating home directory for test-admin.
[test-admin@cent7ldap ~]$ pwd
/home/test-admin
[test-admin@cent7ldap ~]$ sudo su -
最終ログイン: 日時
[root@cent7ldap ~]# cat /etc/passwd | grep test-admin
[root@cent7ldap ~]#

터미널로 접속하면 홈 디렉토리가 작성됩니다. 루트가 될 수 있습니다. 또한 LDAP 계정으로 인해/etc/passwd에 등록되지 않습니다.

usermin 설치 및 설정



LDAP 계정의 패스워드 변경을 하는 GUI 툴입니다. LDAP 클라이언트가 구성된 서버 중 하나에 설치하고 사용합니다.
### 必要なパッケージの追加
yum install perl-Net-SSLeay perl-Authen-PAM
yum install http://download.webmin.com/download/yum/usermin-1.661-1.noarch.rpm

# 設定ファイル修正
cp -p /etc/usermin/miniserv.conf /etc/usermin/miniserv.conf.org
vi /etc/usermin/miniserv.conf
※最終行追加
---
denyusers=root
lang=ja_JP.euc
---

cp -p /etc/usermin/changepass/config /etc/usermin/changepass/config.org
vi /etc/usermin/changepass/config
※以下修正
[変更前]
passwd_cmd=file
[変更後]
passwd_cmd=

cp -p /etc/usermin/webmin.acl /etc/usermin/webmin.acl.org
vi /etc/usermin/webmin.acl
---
user: changepass
---

cp -p /etc/usermin/config /etc/usermin/config.org
vi /etc/usermin/config
※以下修正
[変更前]
lang=en.UTF-8
[変更後]
lang=ja_JP.euc

cp -p /etc/pam.d/usermin /etc/pam.d/usermin.org
vi /etc/pam.d/usermin
---
#%PAM-1.0
#auth required pam_unix.so nullok
#account required pam_unix.so
#session required pam_unix.so
auth include system-auth
account include system-auth
password include system-auth
session include system-auth
---

#usermin起動、自動起動
/etc/init.d/usermin start
chkconfig usermin on

그리고 브라우저에서 다음을 지정합니다.
http://서버 IP:20000/


 여기에서 LDAP 계정으로 로그인하면 왼쪽에 비밀번호를 변경하는 링크가 표시됩니다.

마지막으로



LDAP 서버와 클라이언트를 준비해, LDAP 환경을 움직이는 곳까지 왔습니다. 다음 번에는 운영 측면에서 중요해지는 디렉토리 구성과 ACL에 대해 설명합니다.
· CentOS7에서 Openldap 빌드 - 4. LDAP 디렉토리 구성 및 ACL 설정

관련 기사



· CentOS7에서 Openldap 구축 - 1.Openldap의 구조
· CentOS7에서 Openldap 구축 - 2. LDAP 서버 구축 절차
· CentOS7에서 Openldap 구축 - 3. LDAP 클라이언트 설정 절차
· CentOS7에서 Openldap 구축 - 4. LDAP 디렉토리 구성 예와 ACL 설정
· CentOS7에서 Openldap 구축 - 5. 백업 복원 테스트
· CentOS7에서 Openldap 빌드 - 6. 비밀번호 만료 알림 스크립트

좋은 웹페이지 즐겨찾기