Linux统一登录认证之 --- 客户端配置
写在前面
本文主要介绍如何通过使用OpenLDAP进行Linux的登录验证, 纯干货
本文环境
- Centos 7.5
- OpenLdap 2.4.44
部署
安装环境
openldap 安装见Linux统一登录认证之 — OpenLDAP服务部署
安装相关依赖包
yum install pam_ldap nss-pam-ldapd -y
yum install -y oddjob-mkhomedir oddjob
修改配置文件
以下是需要修改的几个配置 文件, LDAP相关修改部分已注释标明
vim /etc/openldap/ldap.conf
#
# LDAP Defaults
## See ldap.conf(5) for details
# This file should be world readable but not world writable.#BASE dc=example,dc=com
BASE dc=awuwuwu,dc=com # 修改为服务端之前定义的组织名称
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666
URI ldap://127.0.0.1:389/ # 修改为服务端的ip地址#SIZELIMIT 12
#TIMELIMIT 15
#DEREF neverTLS_CACERTDIR /etc/openldap/certs
pam_password md5
ssl no# Turning this off breaks GSSAPI used with krb5 when rdns = false
SASL_NOCANON on
vim /etc/nsswitch.conf
# ... 省略 ... 配置部分如下
passwd: files ldap
shadow: files ldap
group: files ldap
# 在此三项后面添加 ldap 即可
# ... 省略 ...
vim /etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_faildelay.so delay=2000000
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth required pam_deny.so
auth sufficient pam_ldap.so # LDAP认证account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account required pam_permit.so
account [default=bad success=ok user_unknown=ignore] pam_ldap.so # LDAP认证password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password required pam_deny.so
password sufficient pam_ldap.so use_authtok # LDAP认证session optional pam_keyinit.so revoke
session required pam_limits.so
session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077 # 设置home目录权限-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session optional pam_ldap.so # LDAP认证
session required pam_unix.so
vim /etc/nslcd.conf
# ... 省略 ... 配置部分如下uri ldap://127.0.0.1/ base dc=awuwuwu,dc=com ssl no
tls_cacertdir /etc/openldap/cacerts # ... 省略 ...
vim /etc/ssh/sshd_config
# ... 省略 ...
UsePAM yes # 其他默认不变即可
# ... 省略 ...
vim /etc/pam.d/password-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_faildelay.so delay=2000000
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth sufficient pam_ldap.so use_first_pass # LDAP配置
auth required pam_deny.soaccount required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account [default=bad success=ok user_unknown=ignore] pam_ldap.so #LDAP配置
account required pam_permit.sopassword requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password sufficient pam_ldap.so use_authtok # LDAP配置password required pam_deny.sosession optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_ldap.so # LDAP配置
vim /etc/pam.d/sshd
#%PAM-1.0
auth required pam_sepermit.so
auth substack password-auth
auth include postlogin
# Used with polkit to reauthorize users in remote sessions
-auth optional pam_reauthorize.so prepare
account required pam_nologin.so
account include password-auth
password include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include password-auth
session include postlogin
# Used with polkit to reauthorize users in remote sessions
-session optional pam_reauthorize.so prepare
session required pam_mkhomedir.so # LDAP创建home目录
启动服务
启动服务,并设置自启动
systemctl restart nslcd
systemctl restart sshdservice messagebus start
service oddjobd start
验证
登录用户验证
[root@testnode01 ~]# su ada
[ada@testnode01 root]$ cd ~
[ada@testnode01 ~]$ pwd
/home/ada
[ada@testnode01 ~]$
Linux统一登录认证之 --- 客户端配置相关推荐
- Linux统一登录认证之 --- OpenLDAP服务部署
前言 OpenLDAP 是 LDAP 协议的一个开源实现.LDAP 服务器本质上是一个为只读访问而优化的非关系型数据库.它主要用做地址簿查询(如 email 客户端)或对各种服务访问做后台认证以及用户 ...
- CAS统一登录认证(1):系统安装
这一周在研究cas统一登录认证系统,参考网上大量文章,基本调试可用了,做个笔记. 安装环境:ubuntu16.04 + mysql5.7.23 + java1.8.0_181 + maven3.5 ...
- linux远程登录ssh免密码配置方法
这篇文章主要介绍了linux远程登录ssh免密码配置方法,需要的朋友可以参考下 一.情景 公司刚上几台Linux,现在要把主机之间都能远程ssh免密码登陆. 二.原理 很简单,使用ssh-keygen ...
- 【统一登录认证】企业微信统一认证系统流程整理 流程图 时序图
[统一登录认证]企业微信统一认证系统流程整理 流程图 / 时序图
- shiro实现APP、web统一登录认证和权限管理
先说下背景,项目包含一个管理系统(web)和门户网站(web),还有一个手机APP(包括Android和IOS),三个系统共用一个后端,在后端使用shiro进行登录认证和权限控制.好的,那么问题来了w ...
- CAS统一登录认证(6):SSO集成架构
cas单点登录架构的形成,理解,实践是个过程,整个实现有一定的复杂,网上的基本架构图如下: 但在实施的时候,并不一定各项技术都需要用到,比如,我的实施整理了一下,是以下改进和简化的架构: 1. 通过L ...
- linux程序网络验证,【redhat5.5】linux的LDAP认证服务器的配置及客户端pam网络验证实例...
[1] LDAP简介 LDAP(Lightweight Directory Access Protocol) 代表轻量级目录访问协议 LDAP 是一种非关系型数据库 LDAP 可扩展性和灵活性良好 安 ...
- CAS认证登录,CAS客户端配置并对接多个不同服务端(spring boot)
Spring Boot集成CAS客户端 本教程是通过访问url来进入登录界面. 需求: 我们开发平台有很多学校在使用,需要接入每个学校的统一认证CAS系统. 1.服务端设置授权域名或者IP 2.访问地 ...
- jwt认证机制优势和原理_微服务统一登录认证怎么做?JWT?
无状态登录原理 1.1.什么是有状态? 有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session. 例如登录:用户登 ...
最新文章
- 【中文】Joomla1.7扩展介绍之Kunena(强大的论坛)
- 在Linux上自动调整屏幕亮度保护眼睛
- css --- 使用scss生成常用的基本css样式
- Mybatis+mysql动态分页查询数据案例——房屋信息的接口(IHouseDao)
- ArcGIS API for Silverlight中legend控件显示图例问题
- zabbix mysql安装配置_ZABBIX4.4 安装及配置
- php 模拟请求工具,http-mock-master模拟HTTP请求库
- (转) OpenLayers3基础教程——加载资源
- MySQL之级联删除、级联更新、级联置空
- 2. COM编程——什么是接口
- python 窗体k线图_在GUI窗口中绘制一个茅台股票K线图
- matlab 差影法,MATLAB人体姿态行为识别[差影法,多姿势]
- java如何向服务器传文件,详解Java向服务端发送文件的方法
- matlab 柯西黎曼方程,柯西-黎曼方程
- 【解决办法】ES文件浏览器使用局域网功能帐号不正确/查看局域网共享文件登录失败
- python+nodejs+vue酒店点餐饮系统项目
- 洛克菲勒家族是如何发家的,我们都看看
- 一文搞懂CAN FD总线协议帧格式
- BI神器Power Query(4)-- PQ导入动态名称定义的表格
- java.lang.arrayindexoutofboundsexception: Index 13 out of bounds for length 13