本篇文章给大家谈谈CentOS下OpenSSL的安装和使用,以及centosopenssl安装的知识点,同时本文还将给你拓展CentOs6.5安装OpenSSL、Centos6.5安装OpenSSL、
本篇文章给大家谈谈CentOS下OpenSSL的安装和使用,以及centos openssl安装的知识点,同时本文还将给你拓展CentOs 6.5 安装OpenSSL、Centos 6.5安装OpenSSL、CentOS 6.8 curl支持的NSS修改为OpenSSL的方法、CentOS 6.9下OpenLDAP 的安装与配置等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:- CentOS下OpenSSL的安装和使用(centos openssl安装)
- CentOs 6.5 安装OpenSSL
- Centos 6.5安装OpenSSL
- CentOS 6.8 curl支持的NSS修改为OpenSSL的方法
- CentOS 6.9下OpenLDAP 的安装与配置
CentOS下OpenSSL的安装和使用(centos openssl安装)
1,安装openssl
tar zxvf openssl-1.0.0a.tar.gz
cd openssl-1.0.0a
./config --prefix=/usr/local/openssl
make && make install
2,安装apache
tar zxvf httpd-2.2.16.tar.gz
cd httpd-2.2.16
./configure --prefix=/usr/local/apache --enable-ssl --enable-rewrite --enable-so --with-ssl=/usr/local/openssl
make && make install
如果你是yum install,apt-get,pacman这样的软件管理工具进行安装的话,上面的二步可以省掉。
3,创建主证书
在/usr/local/apache/conf/下面建个目录ssl
3.1,mkdir ssl
3.2,cp /openssl的安装目录/ssl/misc/CA.sh /usr/local/apache/conf/ssl/
3.3用CA.sh来创建证书
查看复制打印
[root@BlackGhost ssl]# ./CA.sh -newca//建立主证书
CA certificate filename (or enter to create)
Making CA certificate ...
Generating a 1024 bit RSA private key
............++++++
......++++++
writing new private key to './demoCA/private/./cakey.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
Verify failure
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.',the field will be left blank.
-----
Country Name (2 letter code) [AU]:cn
State or Province Name (full name) [Some-State]:cn
Locality Name (eg,city) []:cn
Organization Name (eg,company) [Internet Widgits Pty Ltd]:cn
Organizational Unit Name (eg,section) []:cn
Common Name (eg,YOUR name) []:localhost
Email Address []:xtaying@gmail.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:******************
An optional company name []:
Using configuration from /etc/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/./cakey.pem://填的是上面的PEM密码
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number:
89:11:9f:a6:ca:03:63:ab
Validity
Not Before: Aug7 12:35:28 2010 GMT
Not After : Aug6 12:35:28 2013 GMT
Subject:
countryName= cn
stateOrProvinceName= cn
organizationName= cn
organizationalUnitName= cn
commonName= localhost
emailAddress= xtaying@gmail.com
X509v3 extensions:
X509v3 Subject Key Identifier:
26:09:F3:D5:26:13:00:1F:3E:CC:86:1D:E4:EE:37:06:65:15:4E:76
X509v3 Authority Key Identifier:
keyid:26:09:F3:D5:26:13:00:1F:3E:CC:86:1D:E4:EE:37:06:65:15:4E:76
DirName:/C=cn/ST=cn/O=cn/OU=cn/CN=localhost/emailAddress=xtaying@gmail.com
serial:89:11:9F:A6:CA:03:63:AB
X509v3 Basic Constraints:
CA:TRUE
Certificate is to be certified until Aug6 12:35:28 2013 GMT (1095 days)
Write out database with 1 new entries
Data Base Updated
安装成功的话,会在ssl目录下面产生一个文件夹demoCA
4生成服务器私钥和服务器证书
查看复制打印
[root@BlackGhost ssl]# openssl genrsa -des3 -out server.key 1024//产生服务器私钥
Generating RSA private key,1024 bit long modulus
.....................++++++
.........++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key:
[root@BlackGhost ssl]# openssl req -new -key server.key -out server.csr//生成服务器证书
Enter pass phrase for server.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,YOUR name) []:localhost//要填全域名
Email Address []:xtaying@gmail.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:*****************
An optional company name []:
4.1对产生的服务器证书进行签证
cp server.csr newseq.pem
查看复制打印
[root@BlackGhost ssl]# ./CA.sh -sign//为服务器证书签名
Using configuration from /etc/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/cakey.pem:
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number:
89:11:9f:a6:ca:03:63:ac
Validity
Not Before: Aug7 12:39:41 2010 GMT
Not After : Aug7 12:39:41 2011 GMT
Subject:
countryName= cn
stateOrProvinceName= cn
localityName= cn
organizationName= cn
organizationalUnitName= cn
commonName= localhost
emailAddress= xtaying@gmail.com
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
FE:20:56:04:8E:B6:BE:3E:3A:E1:DA:A6:4A:3A:E1:16:93:1D:3F:81
X509v3 Authority Key Identifier:
keyid:26:09:F3:D5:26:13:00:1F:3E:CC:86:1D:E4:EE:37:06:65:15:4E:76
Certificate is to be certified until Aug7 12:39:41 2011 GMT (365 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified,commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
89:11:9f:a6:ca:03:63:ac
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=cn,ST=cn,O=cn,OU=cn,CN=localhost/emailAddress=xtaying@gmail.com
Validity
Not Before: Aug7 12:39:41 2010 GMT
Not After : Aug7 12:39:41 2011 GMT
Subject: C=cn,L=cn,CN=localhost/emailAddress=xtaying@gmail.com
Subject Public Key Info:
Public Key Algorithm: rSAEncryption
Public-Key: (1024 bit)
Modulus:
00:ce:d5:a8:df:d1:e7:ee:92:d1:d1:78:20:a9:6d:
0a:1b:f6:09:dd:13:29:ef:72:1d:17:54:dd:1c:8d:
28:27:69:fe:70:3b:fa:2b:a3:45:40:80:ea:0e:5b:
a7:bd:40:d0:cd:bc:2c:74:03:8b:f7:6c:5e:1f:09:
5d:c6:8a:05:ea:b8:72:fc:79:8b:62:62:38:0b:42:
28:7e:0d:fc:e7:bb:b0:87:66:6a:b2:35:92:91:b9:
78:9c:b6:76:01:0b:2a:74:df:5f:a1:8b:31:61:90:
93:f9:20:db:46:59:12:2e:9b:59:c0:32:4e:92:14:
a1:7e:52:7b:cc:02:5e:e2:45
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
FE:20:56:04:8E:B6:BE:3E:3A:E1:DA:A6:4A:3A:E1:16:93:1D:3F:81
X509v3 Authority Key Identifier:
keyid:26:09:F3:D5:26:13:00:1F:3E:CC:86:1D:E4:EE:37:06:65:15:4E:76
Signature Algorithm: sha1WithRSAEncryption
09:a0:16:43:a2:93:11:a7:ab:f5:17:b7:36:35:84:9f:3b:37:
32:33:3f:93:63:b0:4c:bb:d1:b4:9b:4f:37:78:62:f4:ac:ff:
28:b0:63:71:2e:9a:7c:f4:40:2e:b1:5f:ae:49:e7:e2:6f:de:
cf:30:cc:9a:08:26:26:24:c5:00:03:32:20:48:41:b1:29:8f:
5d:3d:2a:78:54:0e:a8:76:07:6c:7f:23:42:75:c2:fb:83:1d:
70:44:5e:8c:90:cf:b4:23:b7:23:5b:06:05:32:58:e3:af:1c:
be:1d:50:7b:fd:37:66:ba:9c:ec:bb:af:ee:b6:04:f7:c5:2e:
59:22
-----BEGIN CERTIFICATE-----
MIIC2jCCAkOgAwIBAgIJAIkRn6bKA2OsMA0GCSqGSIb3DQEBBQUAMGoxCzAJBgNV
BAYTAmNuMQswCQYDVQQIEwJjbjELMAkGA1UEChMCY24xCzAJBgNVBAsTAmNuMRIw
EAYDVQQDEwlsb2NhbGhvc3QxIDAeBgkqhkiG9w0BCQEWEXh0YXlpbmdAZ21haWwu
Y29tMB4XDTEwMDgwNzEyMzk0MVoXDTExMDgwNzEyMzk0MVowdzELMAkGA1UEBhMC
Y24xCzAJBgNVBAgMAmNuMQswCQYDVQQHDAJjbjELMAkGA1UECgwCY24xCzAJBgNV
BAsMAmNuMRIwEAYDVQQDDAlsb2NhbGhvc3QxIDAeBgkqhkiG9w0BCQEWEXh0YXlp
bmdAZ21haWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDO1ajf0efu
ktHReCCpbQob9gndEynvch0XVN0cjSgnaf5wO/oro0VAgOoOW6e9QNDNvCx0A4v3
bF4fCV3GigXquHL8eYtiYjgLQih+Dfznu7CHZmqyNZKRuXictnYBCyp031+hizFh
kJP5INtGWRIum1nAMk6SFKF+UnvMAl7iRQIDAQABo3sweTAJBgNVHRMEAjAAMCwG
CWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNV
HQ4EFgQU/iBWBI62vj464dqmSjrhFpMdP4EwHwYDVR0jBBgwFoAUJgnz1SYTAB8+
zIYd5O43BmUVTnYwDQYJKoZIhvcNAQEFBQADgYEACaAWQ6KTEaer9Re3NjWEnzs3
MjM/k2OwTLvRtJtPN3hi9Kz/KLBjcS6afPRALrFfrknn4m/ezzDMmggmJiTFAAMy
IEhBsSmPXT0qeFQOqHYHbH8jQnXC+4MdcERejJDPtCO3I1sGBTJY468cvh1Qe/03
Zrqc7Luv7rYE98UuWSI=
-----END CERTIFICATE-----
Signed certificate is in newcert.pem
cp newcert.pem server.crt
5,产生客户端证书
生成客户私钥:
openssl genrsa -des3 -out client.key 1024
生成客户证书
openssl req -new -key client.key -out client.csr
签证:
openssl ca -in client.csr -out client.crt
转换成pkcs12格式,为客户端安装所用
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.pfx
这一步根安装服务器的证书差不多,不同的是签证,最后安装的时候,client.pfx的密码要记住,在客户端安装的时候要用到的。
[root@BlackGhost ssl]# openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.pfx
Enter pass phrase for client.key:
Enter Export Password:
Verifying - Enter Export Password:
客户端和服务器端都可以使用服务器端证书,所以这一步不做也行。
6,集中所以证书和私私钥到一起
#cp demoCA/cacert.pem cacert.pem
同时复制一份证书,更名为ca.crt
#cp cacert.pem ca.crt
7,apache配置
vi /usr/local/apache/conf/extra/ssl.conf
查看复制打印
ssl开启
SSLEngine on
指定服务器证书位置
SSLCertificateFile /usr/local/apache/conf/ssl/server.crt
指定服务器证书key位置
SSLCertificateKeyFile /usr/local/apache/conf/ssl/server.key
证书目录
SSLCACertificatePath /usr/local/apache/conf/ssl
根证书位置
SSLCACertificateFile /usr/local/apache/conf/ssl/cacert.pem
要求客户拥有证书
SSLVerifyClient require
SSLVerifyDepth1
SSLOptions +StdEnvVars
记录log
CustomLog "/usr/local/apache/logs/ssl_request_log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
vi /usr/local/apache/conf/extra/httpd_vhosts.conf
查看复制打印
listen 443 https
NameVirtualHost *:443
<VirtualHost _default_:443>
DocumentRoot "/home/zhangy/www/metbee/trunk/src/web"
ServerName*:443
ErrorLog "/home/zhangy/apache/www.metbee.com-error.log"
CustomLog "/home/zhangy/apache/www.metbee.com-access.log" common
Include conf/extra/ssl.conf
</VirtualHost>
vi /usr/local/apache/conf/httpd.conf把Include conf/extra/httpd-vhosts.conf前面的注释去掉
启动/usr/local/apache/bin/apachectl -D SSL -k start
Server *:10000 (RSA)
Enter pass phrase:输入的是server的密钥
OK: Pass Phrase Dialog successful.
8,安装客户端证书
把ca.crt和client.pfx copy到客户端,双击client.pfx就会进入证书的安装向导,下一步就行了,中间会让你输入密码
四,安装所遇到的问题
1,生成的密码很多,一会让输入密码,会忘得,并且主证书的密码和下面的证书的密码不能重得,会报错的,所以要搞个文本记下来。
2,升级openssl引发的问题
httpd: Syntax error on line 56 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libPHP5.so into server: libssl.so.0.9.8: cannot open shared object file: No such file or directory
httpd: Syntax error on line 56 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libPHP5.so into server: libcrypto.so.0.9.8: cannot open shared object file: No such file or directory
用ln -s来建立软链接,就可以了。不过这种方法不是万能的,比如我把libpng从1.2升到1.4,libjpeg从7.0升到8.0结果是系统差点崩掉,用软链接不管用,我把他们弄掉,从网上下的低版本重装。
3,证书的国家名称,省名要相同不然生成空证书,
The countryName field needed to be the same in the
CA certificate (cn) and the request (sh)
4,提示CommonName时,要添写全域名,会提示警告
RSA server certificate CommonName (CN) `cn' does NOT match server name!?
5,相同的证书不能生成二次,名字不一样也不行,也就是说server.cst和client.csr信息不能完相同,不然会报
failed to update database
TXT_DB error number 2
6,页面浏览时,会看到提示,你的证书是不可信的,是因为我配置的不对,还是自己建的证书就是不要信的呢?
7,当我加了SSLVerifyClient require SSLVerifyDepth 1这二个配置时,在windows下面,要你输入证书后,就可以看到页面了,但在用firefox就是不行呢?看下面的ssl_request_log日志,192.168.18.3是用windows的IE浏览器
[09/Aug/2010:22:02:21 +0800] 127.0.0.1 TLSv1 DHE-RSA-CAMELLIA256-SHA "GET /robots.txt HTTP/1.1" 208
[09/Aug/2010:22:02:21 +0800] 127.0.0.1 TLSv1 DHE-RSA-CAMELLIA256-SHA "GET /robots.txt HTTP/1.1" 208
[09/Aug/2010:22:02:21 +0800] 127.0.0.1 TLSv1 DHE-RSA-CAMELLIA256-SHA "GET /robots.txt HTTP/1.1" 208
[09/Aug/2010:22:02:55 +0800] 192.168.18.3 TLSv1 RC4-MD5 "GET / HTTP/1.1" 1505
[09/Aug/2010:22:02:55 +0800] 192.168.18.3 TLSv1 RC4-MD5 "GET / HTTP/1.1" 1505
[09/Aug/2010:22:02:55 +0800] 192.168.18.3 TLSv1 RC4-MD5 "GET / HTTP/1.1" 1505
http协议访问
一、安装
?下载
Openssl安装,--prefix)参数为欲安装之目录,也就是安装后的档案会出现在该目录下:? cd openssl-0.9.8k
Openssl:
Openssl:
1),并将
2)
3)(bits)
CA凭证CA凭证,将放置在~/openssl/ssl/misc/demoCA下,以下我们将介绍怎样产生出最上层的
?执行:
?./CA.sh -newca
?确定:
?ls
?cacert.pem」即是private」目录即是存放
?对
uCA凭证之存取权限,仅允许本人能存取,他人必须限制其存取权限chmod -R 660 ~/openssl/ssl/misc/ demoCA
CA产生次级凭证CA凭证产生完之后,我们便能够产生使用者或公司所需要之凭证,此次级凭证产生后,使用者便可应用于https等
?产生使用者之密钥档及(Certificate Signing Request):cd ~/openssl/ssl/misc/demoCA
?-keyout」即为产生test_key.pem」为例,您可自行设定。而「CSR档,我们以「
?产生使用者之凭证:openssl ca -config ~/openssl/ssl/openssl.cnf /-policy policy_anything –out test_cert.pem -infiles test_req.pem
?检查凭证是否产生:cd ~/openssl/ssl/misc/demoCA
?cacert.pem
crl index.txt.attr test_cert.pem test_req.pem
private serial.old certs index.txt
index.txt.old test_key.pem newcerts serial
?以上可见,test_req.pem及CSR及
四、
?以cert:openssl verify -CApath . /-CAfile cacert.pem test_cert.pem
?检查产生的序号openssl x509 -noout -serial -in test_cert.pem
?检查发行者资讯:openssl x509 -noout -issuer -in test_cert.pem
?检查凭证起始及终止日期时间:openssl x509 -noout -in test_cert.pem -dates
?检查个人凭证资讯
?MD5 fingerprint或
?PEM转至Microsoft Outlook Express使用Microsoft Outlook Express寄出签章信件,只要将产生出来的Windows即可使用openssl pkcs12 -export -in test_cert.pem -out test_cert.p12 -name "My Certificate" -inkey test_key.pem
?由PEM:
?Private Key产生凭证:openssl x509 -in test_key2.pem -text /-out test_cert2.pem
?文档加密test_cert.pem」为个人凭证,能够公开给大家,因此某人欲加密传送一文档给我,便能够依下列方式加密。编辑一个纯文字档,在此我们预设档名为「document.enc」:echo "This is a text file." > document.txt
?openssl smime -encrypt -in document.txt /-out document.enc islab_cert.pem
?:倘若我们收到了某人传送的「Private Key来进行解密openssl smime -decrypt -in document.enc /-recip test_cert.pem –inkey test_key.pem
?文档签章document.txt」签章,签章后文档名为「:
?:当某人收到这份文档时,可利用我们的凭证test_cert.pem)连同(
?CA凭证cacert.pem)方可验证文档。
Linux下Openssl的安装全过程
1、下载地址:http://www.openssl.org/source/下一个新版本的OpenSSL,我下的版本是:openssl-1.0.0e.tar.gz
2、在下载的GZ目录中,用命令执行:tar -xzf openssl-openssl-1.0.0e.tar.gz
3、进入解压的目录:openssl-1.0.0e [.......]#cd openssl-1.0.0e
4、[.....openssl-1.0.0e]# ./config --prefix=/usr/local/openssl
5[...../openssl-1.0.0e]# ./config -t
6[...../openssl-1.0.0e]# make depend
7[...../openssl-1.0.0e]# cd /usr/local
8/usr/local]# ln -s openssl ssl
9在/etc/ld.so.conf文件的最后面,添加如下内容:
/usr/local/openssl/lib
10...]# ldconfig
11添加OPESSL的环境变量:
在etc/的profile的最后一行,添加:
export OPENSSL=/usr/local/openssl/bin
export PATH=$OPENSSL:$PATH:$HOME/bin
12退出命令界面,再从新登录。
13、以上OPENSSL就安装完毕,下面进行一些检查。
14依次如下执行:
[root@localhost /]# cd /usr/local
[root@localhost local]# ldd /usr/local/openssl/bin/openssl
会出现类似如下信息:
linux-vdso.so.1 => (0x00007fff3bc73000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fc5385d7000)
libc.so.6 => /lib64/libc.so.6 (0x00007fc538279000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc5387db000)
15查看路径
...]# which openssl
/usr/local/openssl/bin/openssl
16查看版本
...]# openssl version
OpenSSL 1.0.0e 6 Sep 2011
CentOs 6.5 安装OpenSSL
今天在搭建Tomcat +Nginx 时,提示我没有安装OpenSSl。
提示的错误代码如下:
</pre><pre name="code">./configure: error: SSL modules require the OpenSSL library. You can either do not enable the modules,or install the OpenSSL library into the system,or build the OpenSSL library statically from the source with Nginx by using --with-openssl=<path> option.
发现了问题,我们就得解决问题,CentOs 安装OpenSSL 的详细步骤如下:
1、安装OpenSSL
# tar zxvf openssl-1.0.0a.tar.gz
# cd openssl-1.0.0a
# ./config --prefix=/usr/local/openssl
# make && make install
Centos 6.5安装OpenSSL
方法一、直接安装
yum install openssl
方法二、下载源码编译安装
1.下载
wget https://www.openssl.org/source/openssl-1.0.2h.tar.gz
2.解压
tar zxf openssl-1.0.2h.tar.gz
3.安装
cd openssl-1.0.2h
./config shared zlib
because of configuration changes,you MUST do the following before
*** building:
提醒需要在build之前做make depend
make depend
4.
make
make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
ldconfig -v
4.检测安装是否成功
openssl version -a
CentOS 6.8 curl支持的NSS修改为OpenSSL的方法
在CentOS 6.8的系统里面的curl支持的https是nss版本的,而不是openssl,所以在php使用curl访问https的时候会报Unable to load client key -8178的错误
[root@149-129-128-100 ~]# curl -V
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
CentOS6.8默认安装curl是用ssl的版本是NSS,解决方法需要重新编译安装
[root@149-129-128-144 src]# wget https://curl.haxx.se/download/curl-7.35.0.tar.gz #可以下载任意版本的curl软件包
[root@149-129-128-144 src]# tar xf curl-7.35.0.tar.gz
[root@149-129-128-144 src]# cd curl-7.35.0
[root@149-129-128-144 curl-7.35.0]# ./configure --without-nss --with-ssl && make &&make install
[root@149-129-128-144 curl-7.35.0]# echo "/usr/local/lib" >>/etc/ld.so.conf
[root@149-129-128-144 curl-7.35.0]# ldconfig
[root@149-129-128-144 curl-7.35.0]# curl -V
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1e zlib/1.2.11 libidn/1.18
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smtp smtps telnet tftp
Features: IDN Largefile NTLM SSL libz
CentOS 6.9下OpenLDAP 的安装与配置
LDAP 基础教程
LDAP 全称轻量级目录访问协议(英文:Lightweight Directory Access Protocol),是一个运行在 TCP/IP 上的目录访问协议。LDAP实现提供被称为目录服务的信息服务,可以看做是一张特殊的数据库系统。可以有效的解决众多网络服务的用户账户问题,规定了统一的身份信息数据库、身份认证机制和接口,实现了资源和信息的统一管理,保证了数据的一致性和完整性。
使用场景
有两个系统A,B;需要把A系统创建的用户同步到B中,而B是个apache 开源项目,此时需要借助LDAP来解决。首先在A中建用户的同时,同步更新到LDAP中,然后B系统从LDAP中同步到自己的系统中,这样就实现了A中的用户到B系统的同步。
LDAP理解
在LDAP中,信息以树状方式组织,基本数据单元是条目,而每个条目由属性构成,属性由类型(Type)和一个或多个值(Value)组成。
Entry
包含的信息描述了现实世界中的一个真实的对象,在目录系统中可以理解为一个节点。在目录中添加一个Entry时,该Entry必须属于一个或者多个对象类(Oject Class),Entry的类型由属性Object Class规定。每个Entry都有一个唯一的DN(distinguished name)来标识Entry在directory中的位置。用Java的方式Entry相当于一个Instances,而Ojbect class自然就是Class。
根节点DN的命名有多种方法,其中之一就是域名命名法,例如sohu.com根阶节点的DN应该是DN:dc=sohu,dc=com,People节点的DN:ou=People,dc=example,dc=com,RDN是目录树中节点的相对标识,例如People节点的RDN:ou=people。
Attribute
每个Entry都是由许多Attribute组成,每个属性描述的是对象的一个特征,每个属性由一个类型和一个或多个值Value组成。
每个属性类型有所对应的语法和匹配规则;对象类和属性类型的定义均可以使用继承的概念。每个条目创建时,必须定义所属的对象类,必须提供对象类中的必选属性类型的属性值,在LDAP中一个属性类型可以对应多个值。
常见属性:
属性名 | 是否必填 | 描述 |
---|---|---|
c | 否 | 国家 |
dc | 是 | domain component,常用来指一个域名的一部分 |
o | 否 | 该条目所属的组织名(Organization Name) |
ou | 否 | 一个组织单元的名字 |
cn | 是 | common name,一个对象的名字,如果指人,使用全名 |
sn | 是 | Surname,一个人的姓 |
uid | 是 | Userid,某个用户的登录名,与Linux系统中用户的uid不同 |
userPassword | 否 | 登陆密码 |
否 | 邮箱 | |
givenname | 否 | 一个人的名 |
displayName | 否 | 显示条目时要使用的首选名称 |
uidNumber | 否 | 账号的UID |
gidNumber | 否 | 账号的GID |
homeDirectory | 否 | 用户的家目录指定 |
loginShell | 否 | 用户登录的SHELL |
employeeNumber | 否 | 工号相关信息 |
homePhone | 否 | 家庭电话 |
mobile | 否 | 该条目的手机号码 |
description | 否 | 该条目的描述信息 |
Object class
在LDAP中,一个条目必须包含一个Oject class属性,且需要赋予至少一个值。每个值将用作一条LDAP条目进行数据存储的模板,模板中包含了一个条目必须被赋值的属性和可选的属性。
Object分为三类,结构型(Structural),如Person和orginzationUnit,辅助型(Auxiliary),如extensibeObject,抽象型(Abstract):如top,抽象型的ObjectClass不能直接使用。
下面部分常用的ObjectClass,定义在/etc/openldap/schema/core.schema文件中
名称 | 描述 | 必要属性 |
---|---|---|
domain | ||
organization | o | |
organizationalUnit | ou | |
person | sn,cn | |
organizationPerson | cn,sn | |
top | 抽象型,顶级ObjectClass | |
posixAccount | Linux用户 | cn,gidNumber,homeDirectory,uid,uidNumber |
posixGroup | Linux用户组 | cn,gidNumber |
- Entry必须仅包含一个Structural类型的OjectClass,其他两种类型可包括0或者多个。
LDAP 功能模型
描述LDAP 协议可以采用的相关操作,来访问存储在目录树中的数据,可以将操作分
成三组:
(1) 更新操作 包括添加,删除,重命名,修改Entry
(2) Interrogation Operation 用于数据的查询
(3) 认证和控制 (bind unbind abandon)
LDAP 安全模型
(1) 提供一个框架,包含目录中的信息不被非法访问,LDAP 的安全模型主要是通过身份认
证、安全通道和访问控制(ACL)来实现。
(2) LDAP 是一个面向连接的协议,在能够对LDAP 目录进行任何操作之前,LDAP 客户端
端必须获得一个到LDAP 服务端的一个连接,在这个过程中需要对LDAP 客户端的身份进
行验证(可以理解为用户绑定)。
(3) 在用户通过验证之后,为用户分配附加的权限,比如一些用户只能查看特定的Entry,而不能修改。一些用户可以查看并且修改所有的Entry等。
下面是一个典型的 LDAP 目录树结构,其中每个节点表示一个条目。在下一节中,我们将按照这个结构来配置一个简单的 LDAP 服务。
本文仅涉及没有SSL的OpenLDAP配置。
一、环境准备
两台虚拟机
IP | hostname | 说明 |
---|---|---|
192.168.1.101 | openldap-server | server端 |
192.168.1.102 | openldap-client | client端 |
关闭SELinux
查看SELinux状态:getenforce,或/usr/sbin/sestatus
临时关闭:
setenforce 0
永久关闭:
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config grep SELINUX=disabled /etc/selinux/config
关闭iptables
chkconfig iptables off /etc/init.d/iptables stop /etc/init.d/iptables status
官方文档:
http://www.openldap.org/doc/admin24/
步骤
分为server端操作和client端操作
二、server端安装OpenLDAP
1. yum安装OpenLDAP
[root@openldap-server ~]# yum install openldap openldap-servers openldap-servers-sql openldap-clients openldap-devel compat-openldap -y
OpenLDAP的相关配置文件信息
- /etc/openldap/slapd.conf:OpenLDAP的主配置文件,记录根域信息,管理员名称,密码,日志,权限等
- /etc/openldap/slapd.d/*:这下面是/etc/openldap/slapd.conf配置信息生成的文件,每修改一次配置信息,这里的东西就要重新生成
- /etc/openldap/schema/*:OpenLDAP的schema存放的地方
- /var/lib/ldap/*:OpenLDAP的数据文件
- /usr/share/openldap-servers/slapd.conf.obsolete 模板配置文件
- /usr/share/openldap-servers/DB_CONfig.example 模板数据库配置文件
OpenLDAP监听的端口:
- 默认监听端口:389(明文数据传输)
- 加密监听端口:636(密文数据传输)
2. 复制ldap配置文件到/etc
[root@openldap-server ~]# cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
3. 生成ldap管理员密码(把ldappassword改为自己的管理员密码)
[root@openldap-server ~]# slappasswd -s ldappassword {SSHA}b6YpCvRFWAWQdJpueuyzk79VXlikj4Z1
4. 修改slapd.conf
修改其中cn,dc相关内容,及rootpw密文密码,rootpw配置上面设置的密码
(rootpw必须顶格写,与密码Tab键分开)
[root@openldap-server ~]# cp /etc/openldap/slapd.conf /etc/openldap/slapd.conf.bak [root@openldap-server ~]# vim /etc/openldap/slapd.conf ...... database bdb suffix "dc=qq,dc=com" checkpoint 1024 15 rootdn "cn=Manager,dc=qq,dc=com" #管理LDAP中信息的最高权限,即管理员权限,登陆时用。 ...... rootpw {SSHA}b6YpCvRFWAWQdJpueuyzk79VXlikj4Z1
检测/etc/openldap/slapd.conf是否有错误
[root@openldap-server ~]# slaptest -f /etc/openldap/slapd.conf config file testing succeeded
5. 检测并重新生成ldap数据库
[root@openldap-server ~]# cp /usr/share/openldap-servers/DB_CONfig.example /var/lib/ldap/DB_CONfig # 拷贝DB_CONfig文件 [root@openldap-server ~]# cd /etc/openldap/ [root@openldap-server openldap]# ls -l slapd.d/ drwxr-x--- 3 ldap ldap 4096 7月 13 13:59 cn=config -rw-r----- 1 ldap ldap 1281 7月 13 13:50 cn=config.ldif [root@openldap-server openldap]# rm -rf slapd.d/* # 删除默认配置 (否则添加ldap用户时会报错) [root@openldap-server openldap]# 官方对于OpenLDAP2.4 ,不推荐使用 slapd.conf 作为配置文件。从这个版本开始所有配置数据都保存在 /etc/openldap/slapd.d/中 [root@openldap-server openldap]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/ 5b02d207 bdb_db_open: database "dc=qq,dc=com": db_open(/var/lib/ldap/id2entry.bdb) Failed: No such file or directory (2). 5b02d207 backend_startup_one (type=bdb,suffix="dc=qq,dc=com"): bi_db_open Failed! (2) slap_startup Failed (test would succeed using the -u switch) [root@openldap-server openldap]# slaptest -u config file testing succeeded 出现succeed继续
6. 修改相关ldap文件权限
[root@openldap-server openldap]# chown -R ldap:ldap /var/lib/ldap/ [root@openldap-server openldap]# chown -R ldap:ldap /etc/openldap/
7. 启动slapd服务
[root@openldap-server openldap]# service slapd start Starting slapd: [ OK ] [root@openldap-server openldap]# service slapd status slapd (pid 12896) is running... [root@openldap-server openldap]# chkconfig slapd on [root@openldap-server openldap]# lsof -i:389 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME slapd 12896 ldap 7u IPv4 702934 0t0 TCP *:ldap (LISTEN) slapd 12896 ldap 8u IPv6 702935 0t0 TCP *:ldap (LISTEN)
三、OpenLDAP日志功能开启
1. slapd.conf配置文件里加上日志行
这里的日志级别有很多种,这里选择256这个值的级别(主从节点都要打开openldap日志功能)
[root@openldap-master ~]# cp /etc/openldap/slapd.conf{,.bak3} [root@openldap-master ~]# vim /etc/openldap/slapd.conf #中间的空格用tab键分开 ....... # 最后添加 loglevel 256
2. 修改了配置文件,所有得重新生成配置文件的信息
[root@openldap-master ~]# rm -rf /etc/openldap/slapd.d/* [root@openldap-master ~]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/ config file testing succeeded [root@openldap-master ~]# slaptest -u config file testing succeeded [root@openldap-master ~]# chown -R ldap:ldap /var/lib/ldap/ [root@openldap-master ~]# chown -R ldap:ldap /etc/openldap/
3. 修改/etc/rsyslog.conf文件,加上下面内容
[root@openldap-master ~]# cp /etc/rsyslog.conf{,.bak} [root@openldap-master ~]# vim /etc/rsyslog.conf ........ # 最后添加 local4.* /var/log/slapd/slapd.log
4. 创建日志文件目录,授权
[root@openldap-master ~]# mkdir /var/log/slapd [root@openldap-master ~]# chmod 755 /var/log/slapd/ [root@openldap-master ~]# chown ldap.ldap /var/log/slapd/
5. 重启syslog服务和slapd服务
[root@openldap-master ~]# /etc/init.d/rsyslog restart Shutting down system logger: [ OK ] Starting system logger: [ OK ] [root@openldap-master ~]# /etc/init.d/slapd restart Stopping slapd: [ OK ] Starting slapd: [ OK ] [root@openldap-master ~]# lsof -i:389 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME slapd 13773 ldap 7u IPv4 840484 0t0 TCP *:ldap (LISTEN) slapd 13773 ldap 8u IPv6 840485 0t0 TCP *:ldap (LISTEN)
6. 查看openldap日志信息
[root@openldap-master ~]# tail -f /var/log/slapd/slapd.log
四、server端安装migrationtools,创建根域条目(可选)
参考:http://book.51cto.com/art/201602/505737.htm
1. 安装migrationtools 工具
migrationtools 实现OpenLDAP 用户及用户组的添加。
[root@openldap-server openldap]# yum install migrationtools -y
2. 编辑/usr/share/migrationtools/migrate_common.ph并修改相关配置
[root@openldap-server openldap]# cp /usr/share/migrationtools/migrate_common.ph{,.bak} [root@openldap-server openldap]# vim /usr/share/migrationtools/migrate_common.ph # 搜索”dc=”,值改为与slapd.conf一致内容 ...... # Default DNS domain $DEFAULT_MAIL_DOMAIN = "qq.com"; # Default base $DEFAULT_BASE = "dc=qq,dc=com";
3. 创建OpenLDAP 根域条目,base.ldif
[root@openldap-server openldap]# /usr/share/migrationtools/migrate_base.pl > base.ldif [root@openldap-server openldap]# cat base.ldif dn: dc=qq,dc=com dc: qq objectClass: top objectClass: domain dn: ou=Hosts,dc=com ou: Hosts objectClass: top objectClass: organizationalUnit dn: ou=Rpc,dc=com ou: Rpc objectClass: top objectClass: organizationalUnit dn: ou=Services,dc=com ou: Services objectClass: top objectClass: organizationalUnit dn: nisMapName=netgroup.byuser,dc=com nismapname: netgroup.byuser objectClass: top objectClass: nisMap dn: ou=Mounts,dc=com ou: Mounts objectClass: top objectClass: organizationalUnit dn: ou=Networks,dc=com ou: Networks objectClass: top objectClass: organizationalUnit dn: ou=People,dc=com ou: People objectClass: top objectClass: organizationalUnit dn: ou=Group,dc=com ou: Group objectClass: top objectClass: organizationalUnit dn: ou=Netgroup,dc=com ou: Netgroup objectClass: top objectClass: organizationalUnit dn: ou=Protocols,dc=com ou: Protocols objectClass: top objectClass: organizationalUnit dn: ou=Aliases,dc=com ou: Aliases objectClass: top objectClass: organizationalUnit dn: nisMapName=netgroup.byhost,dc=com nismapname: netgroup.byhost objectClass: top objectClass: nisMap
可以编辑base.ldif 进行修改,将不需要的条目删除,然后通过ldapadd 导入至OpenLDAP目录树。
4. 添加base.ldif到ldap(输入密码为上面创建的:ldappassword)
[root@openldap-server openldap]# ldapadd -x -D "cn=Manager,dc=com" -w ldappassword -f ./base.ldif Enter LDAP Password: ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1) ' 出现这个错误的时候,查看服务和端口都已经开启了,需要你手动指定主机名和你的端口号(ldap端口号为389),使用-h 加上主机名。 [root@openldap-server openldap]# ldapadd -x -D "cn=Manager,dc=com" -w ldappassword -f ./base.ldif -h openldap-server -p 389 adding new entry "dc=qq,dc=com" adding new entry "ou=Hosts,dc=com" adding new entry "ou=Rpc,dc=com" adding new entry "ou=Services,dc=com" adding new entry "nisMapName=netgroup.byuser,dc=com" adding new entry "ou=Mounts,dc=com" adding new entry "ou=Networks,dc=com" adding new entry "ou=People,dc=com" adding new entry "ou=Group,dc=com" adding new entry "ou=Netgroup,dc=com" adding new entry "ou=Protocols,dc=com" adding new entry "ou=Aliases,dc=com" adding new entry "nisMapName=netgroup.byhost,dc=com"
5. 检查ldapadd是否成功(密码为上面创建的:ldappassword)(必须检查确认Manager数据添加了,才能通过PHPldapAdmin登录)
[root@openldap-server openldap]# ldapsearch -x -D "cn=Manager,dc=com" -b "ou=Aliases,dc=com" -w ldappassword # extended LDIF # # LDAPv3 # base <ou=Aliases,dc=com> with scope subtree # filter: (objectclass=*) # requesting: ALL # # Aliases,qq.com dn: ou=Aliases,dc=com ou: Aliases objectClass: top objectClass: organizationalUnit # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1
六、安装openLdap桌面服务
1. yum安装httpd及PHPLdapAdmin
[root@openldap-server openldap]# rpm -ivh http://mirrors.ukfast.co.uk/sites/dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm [root@openldap-server openldap]# yum install httpd PHPldapadmin -y
2. 配置/etc/httpd/conf.d/PHPldapadmin.conf允许从远程访问
[root@openldap-server openldap]# cp -a /etc/httpd/conf.d/PHPldapadmin.conf{,.bak} #可以先把此文件cp备份一份 [root@openldap-server openldap]# vim /etc/httpd/conf.d/PHPldapadmin.conf Alias /PHPldapadmin /usr/share/PHPldapadmin/htdocs Alias /ldapadmin /usr/share/PHPldapadmin/htdocs <Directory /usr/share/PHPldapadmin/htdocs> Order Deny,Allow Allow from all Allow from 127.0.0.1 #或者去掉下面这三行内容,表示运行所有客户机访问(本测试案例就去掉了这三行) Allow from ::1 Allow from all #允许哪些IP地址访问PHPldapadmin,我写的全部。 </Directory>
3. 修改/etc/PHPldapadmin/config.PHP配置用DN登录
[root@openldap-server openldap]# cp /etc/PHPldapadmin/config.PHP{,.bak} [root@openldap-server openldap]# vim /etc/PHPldapadmin/config.PHP ....... //$servers->setValue('login','attr','uid'); #注释掉这一行 $servers->setValue('login','dn'); #添加这一行 [root@openldap-server openldap]# diff /etc/PHPldapadmin/config.PHP /etc/PHPldapadmin/config.PHP.bak 398,399c398,399 < //$servers->setValue('login','uid'); < $servers->setValue('login','dn'); --- > $servers->setValue('login','uid'); >
4. 启动httpd服务
[root@openldap-server openldap]# chkconfig httpd on [root@openldap-server openldap]# service httpd start Starting httpd: httpd: apr_sockaddr_info_get() Failed for openldap-server httpd: Could not reliably determine the server's' fully qualified domain name,using 127.0.0.1 for ServerName [ OK ] [root@openldap-server openldap]# service httpd status httpd (pid 13010) is running... [root@openldap-server openldap]# lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME httpd 13010 root 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13012 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13013 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13014 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13015 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13016 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13017 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13018 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN) httpd 13019 apache 4u IPv6 757231 0t0 TCP *:http (LISTEN)
5. 打开Web UI并登录LDAP
URL: $IP/PHPldapadmin 用户名 "cn=Manager,dc=com" 密码 "ldappassword"
七、新建组织(公司)、管理员、组及用户
添加用户和用户组的方式有两种。一种是将系统用户通过migrationtools 工具生成LDIF 文件并结合ldapadd 命令导入OpenLDAP 目录树中,生成OpenLDAP 用户。另一种通过自定义LDIF 文件并通过OpenLDAP 命令进行添加或者修改操作。本文主要介绍第二种来完成OpenLDAP用户的添加。
1. 组织
创建组织:
[root@openldap-server data]# vim o.ldif #在根目录下建立不同组织 dn: o=tengxun,dc=com objectclass: top objectclass: dcobject objectclass: organization dc: qq o: tengxun description: 腾讯 street: 深圳腾讯大厦
此LDIF 文件中存在中文字符,建议使用Linux dos2unix 命令进行转换,例如dos2unix -k –n filenew_file。作者建议尽可能不要使用中文字符进行添加,而使用英文添加。
导入组织数据
[root@openldap-server data]# ldapadd -x -D "cn=Manager,dc=com" -w ldappassword -f ./o.ldif -h openldap-server -p 389 adding new entry "o=tengxun,dc=com"
============================================================
如果报错:
[root@openldap-server data]# ldapadd -x -D "cn=Manager,dc=com" -w ldappassword -f ./o.ldif -h openldap-server -p 389 ldapadd: attributeDescription "dn": (possible missing newline after line 3,entry "o=tengxun,dc=com"?) adding new entry "o=tengxun,dc=com" ldap_add: Type or value exists (20) additional info: ou: value #0 provided more than once
产生原因:o.ldif文件中的不规范的空格所致!!即导入的数据含有空格所致!
纠错如下:
dn:(空格)o=tengxun,dc=com changetype:(空格)add(结尾无空格) objectclass:(空格)top(结尾无空格) objectclass:(空格)organizationalUnit(结尾无空格) ou:(空格)echnology(结尾无空格) (1空行,空行必须要定格,不能留空格)(结尾无空格) ........(后面的配置内容纠正方法同样)
===========================================================
查询刚导入数据
[root@openldap-server data]# ldapsearch -x -D "cn=Manager,dc=com" -b "o=tengxun,dc=com" -w ldappassword -h openldap-server -p 389 # extended LDIF # # LDAPv3 # base <o=tengxun,dc=com> with scope subtree # filter: (objectclass=*) # requesting: ALL # # tengxun,qq.com dn: o=tengxun,dc=com objectClass: top objectClass: dcObject objectClass: organization dc: qq o: tengxun description:: 572R5biF street:: 5YyX5Lqs5biC5a6J57+U5YyX6YeM55SyMTHlj7fljJfkuqzliJvkuJrlpKfljqZC5bqnN zAx5a6k # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1
2. 管理员及组
在新建组织下创建管理员及组
在tengxun组织下创建一个 Manager 的组织角色(该角色内的用户具有管理整个 LDAP 的权限)和 People 和 Group 两个组织单元: [root@openldap-server data]# vim admin_group.ldif # admin dn: cn=Manager,o=tengxun,dc=com objectClass: organizationalRole cn: Manager # Group组 dn: ou=Group,dc=com ou: Group objectClass: organizationalUnit # People组 dn: ou=People,dc=com ou: People objectClass: organizationalUnit
导入组数据
[root@openldap-server data]# ldapadd -x -D "cn=Manager,dc=com" -w ldappassword -f ./admin_group.ldif -h openldap-server -p 389 adding new entry "cn=Manager,dc=com"
通过以上的所有步骤,我们就设置好了一个 LDAP 目录树:其中基准 dn: o=tengxun,dc=com 是该树的根节点,其下有一个管理域 cn=Manager,dc=com 和两个组织单元 ou=People,dc=com 及 ou=Group,dc=com。
3. 用户
创建用户及部门(cn组)
[root@openldap-server data]# vim adduser.ldif # create new # replace to your own domain name for "dc=***,dc=***" section dn: uid=huateng.ma,ou=People,dc=com objectClass: top objectclass: person #objectclass: organizationalPerson objectclass: inetorgPerson objectClass: shadowAccount uid: huateng.ma cn: huateng.ma sn: ma displayName: 马化腾 ou: People description: 可视化 #userPassword: ldappassword userPassword: {SSHA}b6YpCvRFWAWQdJpueuyzk79VXlikj4Z1 mail: huateng.ma@qq.com dn: cn=kaifa,ou=Group,dc=com objectClass: top objectClass: groupOfUniqueNames cn: kaifa uniquemember: uid=huateng.ma,dc=com
导入用户数据
[root@openldap-server data]# ldapadd -x -D "cn=Manager,dc=com" -w ldappassword -f ./adduser.ldif -h openldap-server -p 389 adding new entry "uid=huateng.ma,dc=com" adding new entry "cn=kaifa,dc=com"
可以登陆PHPLDAPadmin的web界面查询新导入的数据
添加其它用户
[root@openldap-server data]# vim adduser.ldif # create new # replace to your own domain name for "dc=***,dc=***" section dn: uid=san.zhang,dc=com objectClass: top objectclass: person #objectclass: organizationalPerson objectclass: inetorgPerson objectClass: shadowAccount uid: san.zhang cn: san.zhang sn: zhang displayName: 张三 ou: People description: 可视化 #userPassword: ldappassword userPassword: {SSHA}b6YpCvRFWAWQdJpueuyzk79VXlikj4Z1 mail: san.zhang@qq.com
把san.zhang用户加入到kaifa组中(没验证)
dn: cn=kaifa,dc=com changetype: modify add: memberuid memberuid: san.zhang
或者
通过OpenLDAP界面把san.zhang用户添加到kaifa组中
点击左侧相应组织下的"ou=Group" --> "cn=kaifa" --> "uniqueMember" --> 点击下面的赋值,复制上面一行,然后修改uid保存即可。
八、参考:
http://book.51cto.com/art/201602/505669.htm
https://www.cnblogs.com/kevingrace/p/9052669.html
https://www.cnblogs.com/AloneSword/p/4758814.html
当你发现自己的才华撑不起野心时,就请安静下来学习吧
今天关于CentOS下OpenSSL的安装和使用和centos openssl安装的介绍到此结束,谢谢您的阅读,有关CentOs 6.5 安装OpenSSL、Centos 6.5安装OpenSSL、CentOS 6.8 curl支持的NSS修改为OpenSSL的方法、CentOS 6.9下OpenLDAP 的安装与配置等更多相关知识的信息可以在本站进行查询。
本文标签: