最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

配置Linux使用LDAP用戶認(rèn)證的方法

 更新時(shí)間:2019年10月01日 09:22:06   作者:乾坤盤  
這篇文章主要介紹了配置Linux使用LDAP用戶認(rèn)證的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

我這里使用的是CentOS完成的LDAP用戶管理,可能與網(wǎng)上的大部分教程不同,不過(guò)寫出來(lái)了,那么是肯定能用的了,不過(guò)會(huì)有部分文件,忘指教。
這里使用的 OPENLdap 配合 CentOS7 完成的用戶管理,需要配置 nssswitch 、pam 和 sssd 3個(gè)服務(wù),需要先有一定的了解才能完成本文的配置。

基礎(chǔ)配置#

1.完成yum源的配置

mkdir /root/back
tar -Jcvf /root/back/yum.repos.d-`date '+(%Y.%m.%d_%H:%M:%S)'`.tar.xz /etc/yum.repos.d/
rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum,repos.d/CentOS-epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache

1.安裝必要軟件

yum -y install vim bash-completion openldap-servers openldap-clients nss-pam-ldapd sssd

OPENLdap服務(wù)部分配置#

初始化過(guò)程就不再過(guò)多贅述,詳細(xì)查詢《OPENLDAP 服務(wù)搭建和后期管理》。

1.首先停止數(shù)據(jù)庫(kù)服務(wù):

systemctl stop slapd

1.然后編輯文件:

# 首先備份文件,以免無(wú)法復(fù)原
mkdir /root/back
tar -Jcvf /root/back/slapd.config-`date '+(%Y.%m.%d_%H:%M:%S)'`.tar.xz /etc/openldap/slapd.d/
tar -Jcvf /root/back/slapd.data-`date '+(%Y.%m.%d_%H:%M:%S)'`.tar.xz /var/lib/ldap/
# 然后再刪除配置文件
rm -rf /etc/openldap/slapd.d/*
rm -rf /var/lib/ldap/*
# 復(fù)制配置文件到臨時(shí)目錄
mkdir /root/ldap
cd /root/ldap

1.編寫slapd的配置文件。這里的配置文件是從 /usr/share/openldap-servers/slapd.ldif 中演變而來(lái)的,主要修改了baseDN(suffix), OPENLDAPTLS,olcRootPW(密碼由 slappasswd 生成,本文中的密碼為: 123456) 和 include。

# file: /root/ldap/slapd.ldif
dn: cn=config
objectClass: olcGlobal
cn: config
olcArgsFile: /var/run/openldap/slapd.args
olcPidFile: /var/run/openldap/slapd.pid
olcTLSCertificateFile: /etc/openldap/certs/server.crt
olcTLSCertificateKeyFile: /etc/openldap/certs/server.key
olcTLSCACertificateFile: /etc/openldap/cacerts/cacert.pem
dn: cn=schema,cn=config
objectClass: olcSchemaConfig
cn: schema
include: file:///etc/openldap/schema/core.ldif
include: file:///etc/openldap/schema/cosine.ldif
include: file:///etc/openldap/schema/nis.ldif
include: file:///etc/openldap/schema/inetorgperson.ldif
dn: olcDatabase=frontend,cn=config
objectClass: olcDatabaseConfig
objectClass: olcFrontendConfig
olcDatabase: frontend
dn: olcDatabase=config,cn=config
objectClass: olcDatabaseConfig
olcDatabase: config
olcAccess: to * 
 by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage 
 by * none
dn: olcDatabase=monitor,cn=config
objectClass: olcDatabaseConfig
olcDatabase: monitor
olcAccess: to * 
 by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read 
 by dn.base="cn=Manager,dc=black,dc=com" read 
 by * none
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: hdb
olcSuffix: dc=black,dc=com
olcRootDN: cn=Manager,dc=black,dc=com
olcRootPW: {SSHA}l1vBI/HOMKLEiQZgcm3Co+hFQI68rH1Q
olcDbDirectory: /var/lib/ldap
olcDbIndex: objectClass eq,pres
olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub

1.配置OPENSSL的證書(shū)。為openldap服務(wù)器的加密隧道使用。

# 首先是創(chuàng)建CA服務(wù)的證書(shū)文件
cd /etc/pki/CA
openssl genrsa -out private/cakey.pem 2048
openssl req -new -x509 -key private/cakey.pem -out cacert.pem # 這里的證書(shū)創(chuàng)建過(guò)程就省略不寫了。
# 不過(guò)需要注意的是,必須要保證后面服務(wù)器證書(shū)申請(qǐng)的開(kāi)頭部分必須與證書(shū)開(kāi)頭相同,否則無(wú)法通過(guò)CA簽發(fā)證書(shū)。
touch index.txt
echo "01" > serial
# 然后申請(qǐng)簽發(fā)服務(wù)器證書(shū)
cd /etc/openldap/certs/
openssl genrsa -out server.key 2048
openssl ca -in server.csr -out server.crt -days 365
# 復(fù)制CA證書(shū)到指定位置
mkdir /etc/openldap/cacerts
cp /etc/pki/CA/cacert.pem /etc/openldap/cacerts/

1.根據(jù)配置生成服務(wù)器的配置文件

slapadd -F "/etc/openldap/slapd.d/" -b "cn=config" -l slapd.ldif
# 這里還需要注意文件屬主還是root的,需要改回為openldap
chown -R ldap:ldap /etc/openldap/slapd.d/*
# 然后再開(kāi)啟服務(wù)即可
systemctl start slapd

_#################### 100.00% eta none elapsed none fast!
 Closing DB...

1.初始化數(shù)據(jù)庫(kù)

dn: dc=black,dc=com
dc: black
objectClass: top
objectClass: domain

dn: cn=Manager,dc=black,dc=com
objectClass: organizationalRole
cn: Manager
description: LDAP Manager

dn: ou=People,dc=black,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
objectClass: domainRelatedObject
associatedDomain: black.com

dn: ou=Group,dc=black,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
objectClass: domainRelatedObject
associatedDomain: black.com

1.導(dǎo)入至數(shù)據(jù)庫(kù)

ldapadd -x -D "cn=Manager,dc=black,dc=com" -w 123456 -f base.ldif # 將基礎(chǔ)信息導(dǎo)入數(shù)據(jù)庫(kù)。
adding new entry "dc=black,dc=com"
 adding new entry "cn=root,dc=black,dc=com"
 adding new entry "ou=People,dc=black,dc=com"
 adding new entry "ou=Group,dc=black,dc=com"

1.那么再使用apache directory studio來(lái)查看 服務(wù)器是否配置成功。

首先先將防火墻開(kāi)啟

firewall-cmd --add-service=ldap

1.我們這里先導(dǎo)入一個(gè)用戶用于后面的測(cè)試使用

Linux 用戶認(rèn)證部分配置#

我這里設(shè)計(jì)的用戶認(rèn)證和解析是這樣完成的:

與網(wǎng)上其他人寫的會(huì)有所不同,需要注意。

NSS服務(wù)配置#

如果想使 nss 可以查詢ldap,那么首先就需要啟用一個(gè)叫 nslcd 的服務(wù), 以下是該服務(wù)的配置文件。

# file: /etc/nslcd.conf
uid nslcd
gid ldap
uri ldap://127.0.0.1/
base dc=black,dc=com
binddn cn=Manager,dc=black,dc=com
bindpw 123456
ssl no
tls_cacertdir /etc/openldap/cacerts

啟動(dòng)服務(wù)

chmod 600 /etc/nslcd.conf
systemctl start nslcd
systemctl enable nslcd

配置nss

# file: /etc/nsswitch.conf

passwd: files ldap  # 主要就是 passwd、shadow 和 group 這3行需要后面添加ldap
shadow: files ldap
group: files ldap
hosts: files dns myhostname
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files sss
netgroup: nisplus sss
publickey: nisplus
automount: files nisplus sss
aliases: files nisplus

測(cè)試是否可用:

getent passwd | grep black
black​:x:1001:1001:black:/home/black:/bin/bash

PAM服務(wù)配置#

pam模塊已經(jīng)有通過(guò)SSSD認(rèn)證的相關(guān)模塊配置了,我們這里引用以下即可。

cd /etc/pam.d/
 mv system-auth{,.bak}
 ln -s system-auth-ac system-auth

PAM不用進(jìn)行服務(wù)重啟,直接可以使用

sssd服務(wù)配置#

針對(duì)LDAP用戶登入,PAM配置會(huì)將其轉(zhuǎn)發(fā)給SSSD,由SSSD來(lái)認(rèn)證用戶。下面就是sssd.conf 的配置文件了:

# file: /etc/sssd/sssd.conf
[domain/black.com]
autofs_provider = ldap # 配置 autofs 的提供程序?yàn)?ldap
id_provider = ldap  # id 的提供程序?yàn)?ldap
auth_provider = ldap # 配置 auth 認(rèn)證的提供程序?yàn)?ldap
chpass_provider = ldap # 更改密碼 操作時(shí)的對(duì)用應(yīng)用
cache_credentials = True # 開(kāi)啟緩存
ldap_search_base = dc=black,dc=com # ldap 查詢的base dn
ldap_uri = ldap://127.0.0.1/ # ldap 的 URL 路徑
ldap_id_use_start_tls = True # 開(kāi)啟 ldap 的 tls 加密。
ldap_tls_reqcert = never # 不強(qiáng)制要求 tls 加密(這里可以設(shè)置為 hard 強(qiáng)制 TLS 加密,如果 tls 無(wú)法使用則可能導(dǎo)致服務(wù)失敗; 由于ldap 與 sssd在同一臺(tái),所以不需要 tls 加密)
ldap_tls_cacertdir = /etc/openldap/cacerts # ldap 服務(wù) tls 加密信任證書(shū)(CA根證書(shū))。
[sssd]
services = nss, pam, autofs # 提供的服務(wù)
domains = black.com # 設(shè)置啟用的域
[nss]
homedir_substring = /home
[pam]
[sudo]
[autofs]
[ssh]
[pac]
[ifp]
[secrets]
[session_recording]

配置啟動(dòng)服務(wù),并且設(shè)置開(kāi)機(jī)自啟動(dòng)。

chmod 600 /etc/sssd/sssd.conf # 注意權(quán)限的配置,否則無(wú)法啟動(dòng)。
systemctl start sssd
systmctl enable sssd

測(cè)試#

那么這樣用戶認(rèn)證的部分就制作好了,那么現(xiàn)在來(lái)測(cè)試一下:
因?yàn)榕渲玫?system-auth 文件,并沒(méi)有配置 ssh 文件,所以ssh是連接不進(jìn)去的。這里使用login來(lái)測(cè)試可行性。


 這里我們也能看到,用戶時(shí)能登入了的,還有一個(gè)瑕疵就是提示沒(méi)有家目錄下面通過(guò)腳本來(lái)解決。

腳本#

我為這個(gè)LDAP用戶認(rèn)證寫了一個(gè)腳本,方便添加用戶。我這里還是要強(qiáng)調(diào)一下,CentOS雖然有提供 migrationtools 工具用于將用戶存放至LDAP數(shù)據(jù)庫(kù),但是如果你把本地用戶全都提到 LDAP 數(shù)據(jù)庫(kù),不保留本地用戶,那么你就會(huì)發(fā)現(xiàn),電腦就會(huì)無(wú)法重啟了,所以推薦不要把UID小于1000的用戶存放到 LDAP 服務(wù)器。

注:該腳本必須在搭建好上述環(huán)境后才可使用,其余環(huán)境可能有未知問(wèn)題。
腳本放在gitee上了。https://gitee.com/somata/script/blob/master/ldap_adduser.sh

使用方法很簡(jiǎn)單

然后再測(cè)試一下這個(gè)添加的用戶是否可以登入:

總結(jié)

以上所述是小編給大家介紹的配置Linux使用LDAP用戶認(rèn)證,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

相關(guān)文章

  • linux下安裝memcached_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    linux下安裝memcached_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要給大家介紹了關(guān)于在linux下安裝memcached的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-08-08
  • 簡(jiǎn)析Linux網(wǎng)絡(luò)編程函數(shù)

    簡(jiǎn)析Linux網(wǎng)絡(luò)編程函數(shù)

    這篇文章主要介紹了Linux網(wǎng)絡(luò)編程函數(shù),利用這些基本函數(shù),可以實(shí)現(xiàn)tcp協(xié)議通訊,可以實(shí)現(xiàn)通信。需要了解的小伙伴可以參考一下
    2021-08-08
  • LINUX查看端口是否被占用過(guò)程解析

    LINUX查看端口是否被占用過(guò)程解析

    這篇文章主要介紹了LINUX查看端口是否被占用過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • linux系統(tǒng)之間通過(guò)nfs網(wǎng)絡(luò)文件系統(tǒng)掛載設(shè)置方法

    linux系統(tǒng)之間通過(guò)nfs網(wǎng)絡(luò)文件系統(tǒng)掛載設(shè)置方法

    NFS允許一個(gè)系統(tǒng)在網(wǎng)絡(luò)上與他人共享目錄和文件,通過(guò)使用NFS,用戶和程序可以像訪問(wèn)本地文件一樣訪問(wèn)遠(yuǎn)端系統(tǒng)上的文件,下面介紹linux系統(tǒng)之間通過(guò)nfs網(wǎng)絡(luò)文件系統(tǒng)掛載的設(shè)置方法
    2014-01-01
  • Linux中 CentOS 6.5 手動(dòng)升級(jí)gcc到gcc-6.1.0

    Linux中 CentOS 6.5 手動(dòng)升級(jí)gcc到gcc-6.1.0

    這篇文章主要介紹了Linux中 CentOS 6.5 手動(dòng)升級(jí)gcc到gcc-6.1.0的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-10-10
  • ubuntu安裝顯卡驅(qū)動(dòng)和cuda教程

    ubuntu安裝顯卡驅(qū)動(dòng)和cuda教程

    這篇文章主要介紹了ubuntu安裝顯卡驅(qū)動(dòng)和cuda教程,文中附有詳細(xì)的圖文安裝步驟以及安裝配置代碼,跟著本文來(lái)進(jìn)行操作,有需要的朋友可以參考下
    2021-09-09
  • Linux 系統(tǒng)使用私鑰登錄的教程詳解

    Linux 系統(tǒng)使用私鑰登錄的教程詳解

    這篇文章主要介紹了Linux 系統(tǒng)使用私鑰登錄的教程詳解,私鑰登錄?Linux服務(wù)器每次都要輸入負(fù)責(zé)的密碼,為了方便、安全登錄Linux服務(wù)器,使用私鑰公鑰來(lái)登錄。具體操作方法大家跟隨腳本之家小編一起通過(guò)本文學(xué)習(xí)吧
    2018-06-06
  • 淺談Linux系統(tǒng)中的異常堆棧跟蹤的簡(jiǎn)單實(shí)現(xiàn)

    淺談Linux系統(tǒng)中的異常堆棧跟蹤的簡(jiǎn)單實(shí)現(xiàn)

    下面小編就為大家?guī)?lái)一篇淺談Linux系統(tǒng)中的異常堆棧跟蹤的簡(jiǎn)單實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • Apache 添加虛擬目錄注意事項(xiàng)

    Apache 添加虛擬目錄注意事項(xiàng)

    Apache 添加虛擬目錄注意事項(xiàng),使用apache的朋友可以參考下。
    2011-08-08
  • Linux編譯LVGL仿真器出錯(cuò)問(wèn)題解決

    Linux編譯LVGL仿真器出錯(cuò)問(wèn)題解決

    大家好,本篇文章主要講的是Linux編譯LVGL仿真器出錯(cuò)問(wèn)題解決,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01

最新評(píng)論

乌审旗| 黑龙江省| 潮州市| 伊川县| 柘城县| 乌拉特中旗| 龙江县| 黑河市| 静安区| 满洲里市| 琼结县| 永安市| 乌兰察布市| 太仓市| 桃江县| 福海县| 宣武区| 太仓市| 太谷县| 克东县| 朝阳区| 两当县| 达州市| 乐至县| 青冈县| 原平市| 高陵县| 丹寨县| 舟山市| 香格里拉县| 台北市| 隆安县| 齐河县| 霍州市| 汝城县| 合作市| 大田县| 通化县| 福州市| 上林县| 昌江|