LDAP Authentication
From VVCWiki
Jump to navigationJump to search
- Install required packages
yum install openldap-servers openldap-clients nss_ldap
- generate admin user password
[root@centos64 ~]# slappasswd New password: Re-enter new password: {SSHA}KaqRGp1hT8E8s6pqdtyAamWxXxVRODZ9
- update /etc/openldap/slapd.conf
database bdb suffix "dc=chepkov,dc=lan" rootdn "cn=root,dc=chepkov,dc=lan" rootpw {SSHA}KaqRGp1hT8E8s6pqdtyAamWxXxVRODZ9 access to attrs="userPassword" by anonymous auth by self write by * none access to * by users read by * none
- copy DB_CONFIG in place
cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap:ldap /var/lib/ldap/DB_CONFIG
- start ldap server
chkconfig ldap on service ldap start
- edit /usr/share/openldap/migration/migrate_common.ph
$DEFAULT_MAIL_DOMAIN = "chepkov.lan"; $DEFAULT_BASE = "dc=chepkov,dc=lan";
- populate basic entries
/usr/share/openldap/migration/migrate_base.pl |ldapadd -x -D "cn=root,dc=chepkov,dc=lan" -W
- create a user template from root user
grep ^root /etc/passwd | /usr/share/openldap/migration/migrate_passwd.pl - > /tmp/testuser.ldiff
- edit /tmp/testuser.ldiff:
dn: uid=testuser,ou=People,dc=chepkov,dc=lan uid: testuser cn: testuser objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword: {crypt}$1$33w5rgPO$bd.N.h6yMRiiCPvRLAJPV. shadowLastChange: 14481 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: 1000 gidNumber: 100 homeDirectory: /home/testuser gecos: Test User
- Add testuser
ldapadd -x -D "cn=root,dc=chepkov,dc=lan" -W -f /tmp/testuser.ldiff
- enable pam_ldap
authconfig --update --enableldap --enableldapauth --ldapserver="centos64.chepkov.lan" \ --ldapbasedn="dc=chepkov,dc=lan" --enablelocauthorize --enablemkhomedir
- update /etc/ldap.conf
# The distinguished name to bind to the server with # if the effective user ID is root. Password is # stored in /etc/ldap.secret (mode 600) rootbinddn cn=root,dc=chepkov,dc=lan
- Now you can change testuser password using regular passwd utility
passwd testuser
- and login as testuser
[root@centos64 migration]# ssh testuser@localhost testuser@localhost's password: Creating directory '/home/testuser'. [testuser@centos64 ~]$ id uid=1000(testuser) gid=100(users) groups=100(users)
- Enjoy