網上有很多關于如何搭建pos機,從0搭建LDAP統一認證服務的知識,也有很多人為大家解答關于如何搭建pos機的問題,今天pos機之家(www.tonybus.com)為大家整理了關于這方面的知識,讓我們一起來看下吧!
本文目錄一覽:
1、如何搭建pos機
如何搭建pos機
OpenLDAP + phpldapadmin + nginx 搭建部署教程(完整版)
1.什么是LDAPLDAP是輕量目錄訪問協議(LightweightDirectory Access Protocol),LDAP標準實際上是在X.500標準基礎上產生的一個簡化版本,可以根據需要定制。LDAP 服務器本質上是一個為只讀訪問而優化的非關系型數據庫。OpenLDAP 是 LDAP 協議的一個開源實現。提供了目錄服務的所有功能,包括目錄搜索、身份認證、安全通道、過濾器等等。大多數的 Linux 發行版里面都帶有 OpenLDAP 的安裝包。OpenLDAP 服務默認使用非加密的 TCP/IP 協議來接收服務的請求,并將查詢結果傳回到客戶端。由于大多數目錄服務都是用于系統的安全認證部分比如:用戶登錄和身份驗證,所以它也支持使用基于 SSL/TLS 的加密協議來保證數據傳送的保密性和完整性。OpenLDAP 是使用 OpenSSL 來實現 SSL/TLS 加密通信的。(摘自https://www.cnblogs.com/kevingrace/p/5773974.html)OpenLDAP主要用作對各種服務訪問做后臺認證以及用戶數據權限管控。(例如,訪問 Samba 時,LDAP 可以起到域控制器的作用;或者 Linux 系統認證 時代替 /etc/passwd 的作用。)
DAP特點
LDAP的結構用樹來表示,而不是用表格。正因為這樣,就不能用SQL語句了LDAP可以很快地得到查詢結果,不過在寫方面,就慢得多LDAP提供了靜態數據的快速查詢方式:Client/Server模型,Server 用于存儲數,Client提供操作目錄信息樹的工具,這些工具可以將數據庫的內容以文本格式(LDAP 數據交換格式,LDIF)呈現在您的面前LDAP是一種開放Internet標準,LDAP協議是跨平臺的的Interent協議它是基于X.500標準的,與X.500不同,LDAP支持TCP/IP(即可以分布式部署)LDAP中提供三種身份認證機制
匿名。基本認證:通過用戶名和密碼進行身份識別,又分為簡單密碼和MD5密碼認證LDAP提供的在SSL和TLS安全通道基礎上進行的身份認證,包括數字證書的認證。LDAP端口號:389,636389 明文端口636 加密端口 (SSL/TLS)
LDAP目錄數據結構
在LDAP中目錄是按照樹型結構組織——目錄信息樹(DIT) ,DIT是一個主要進行讀操作的數據庫DIT由條目(Entry)組成,條目相當于關系數據庫中表的記錄;條目是具有分辨名DN(Distinguished Name)的屬性-值對(Attribute-value,簡稱AV)的集合在目錄樹中怎么組織數據cn=Fran Smith,ou=employees,dc=foobar,dc=com
在UNIX文件系統中,最頂層是根目錄(root),LDAP目錄也通常用ROOT做根,通常稱為BaseDN因為歷史(X.500)的原因,LDAP目錄用ou(Organization Unit)從邏輯上把數據分開來。ou 也是一種條目,容器條目ou下就是真正的用戶條目2.LDAP基本概念2.1 Entry條目,也叫記錄項,是LDAP中最基本的顆粒,就像字典中的詞條,或者是數據庫中的記錄。通常對LDAP的添加、刪除、更改、檢索都是以條目為基本對象的。
dn:每一個條目都有一個唯一的標識名(distinguished Name ,DN),如上圖中一個 dn:"cn=baby,ou=marketing,ou=people,dc=mydomain,dc=org" 。通過DN的層次型語法結構,可以方便地表示出條目在LDAP樹中的位置,通常用于檢索。rdn:一般指dn逗號最左邊的部分,如cn=baby。它與RootDN不同,RootDN通常與RootPW同時出現,特指管理LDAP中信息的最高權限用戶。Base DN:LDAP目錄樹的最頂部就是根,也就是所謂的“Base DN",如"dc=mydomain,dc=org"。補充:常見的兩種DN設置:dn格式就是“cn=Tom,ou=employees,dc=admin,dc=com”
基于cn(姓名)
cn=test,ou=auth,dc=baike,dc=com ,最常見的cn是/etc/group轉來的條目
基于uid(User ID)
uid=test, ou=auth,dc=baike,dc=com 最常見的cn是/etc/group轉來的條目
2.2 Schema對象類(ObjectClass)、屬性類型(AttributeType)、語法(Syntax)分別約定了條目、屬性、值,他們之間的關系如下圖所示。所以這些構成了模式(schema)——對象類的集合。條目數據在導入時通常需要接受模式檢查,它確保了目錄中所有的條目數據結構都是一致的。schema(一般在/etc/ldap/schema/目錄)在導入時要注意前后順序。在LDAP中,schema用來指定一個目錄中所包含的對象(objects)的類型(objectClass),以及每一個類型(objectClass)中必須提供的屬性(Atrribute)和可選的屬性??蓪chema理解為面向對象程序設計中的類,通過類定義一個具體的對象。LDIF中的數據條目可理解為是一個具體的對象,是通過schema來規劃創建的。因此,schema是一個數據模型,用來決定數據按什么方式存儲,并定義存儲在不同的條目(Entry)下的數據之間的關系。schema需要在主配置文件slapd.conf中指定,以用來決定在目錄中可以使用哪些objectClass。2.3 objectClass(對象類)LDAP中,一個條目必須包含一個objectClass屬性,且需要賦予至少一個值。每一個值將用作一條LDAP條目進行數據存儲的模板;模板中包含了一個條目必須被賦值的屬性和可選的屬性。objectClass有著嚴格的等級之分,最頂層是top和alias。例如,organizationalPerson這個objectClass就隸屬于person,而person又隸屬于top對象類有三種類型:結構類型(Structural)、抽象類型(Abstract)和輔助類型(Auxiliary)。結構類型是最基本的類型,它規定了對象實體的基本屬性,每個條目屬于且僅屬于一個結構型對象類。抽象類型可以是結構類型或其他抽象類型父類,它將對象屬性中共性的部分組織在一起,稱為其他類的模板,條目不能直接集成抽象型對象類。輔助類型規定了對象實體的擴展屬性。每個條目至少有一個結構性對象類。
結構型(Structural):如person和organizationUnit;輔助型(Auxiliary):如extensibeObject;抽象型(Abstract):如top,抽象型的objectClass不能直接使用。2.4 Attribute(屬性)屬性(Attribute)類似于程序設計中的變量,可以被賦值。在OpenLDAP中聲明了許多常用的Attribute(用戶也可自己定義Attribute)。
每個條目都可以有很多屬性(Attribute),比如常見的人都有姓名、地址、電話等屬性。每個屬性都有名稱及對應的值,屬性值可以有單個、多個,比如你有多個郵箱。
屬性不是隨便定義的,需要符合一定的規則,而這個規則可以通過schema制定。比如,如果一個entry沒有包含在 inetorgperson 這個 schema 中的objectClass: inetOrgPerson,那么就不能為它指定employeeNumber屬性,因為employeeNumber是在inetOrgPerson中定義的。常見的Attribute含義如下:● c:國家?!?cn:common name,指一個對象的名字。如果指人,需要使用其全名。● dc:domain Component,常用來指一個域名的一部分?!?givenName:指一個人的名字,不能用來指姓?!?l:指一個地名,如一個城市或者其他地理區域的名字?!?mail:電子信箱地址?!?o:organizationName,指一個組織的名字?!?ou:organizationalUnitName,指一個組織單元的名字?!?sn:surname,指一個人的姓?!?telephoneNumber:電話號碼,應該帶有所在的國家的代碼。● uid:userid,通常指某個用戶的登錄名,與Linux系統中用戶的uid不同。objectClass是一種特殊的Attribute,它包含其他用到的Attribute以及其自身。
3.安裝配置3.1.安裝包說明
安裝包名稱
說明
openldap
openldap服務端和客戶端必須用的庫文件
openldap-servers
用于啟動服務和設置. 包含單獨的ldap后臺守護程序
openldap-clients
在LDAP服務端使用,用戶增刪改查的命令行環境
openldap-devel
devel包,可選擇進行安裝
openldap-servers-sql
支持sql模塊,可進行選擇性安裝
migrationtools
通過migrationtools實現OpenLDAP用戶及用戶組的添加,導入系統賬戶,可進行選擇性安裝
compat-openldap
openldap兼容性庫
3.2.安裝配置安裝openldap參考OpenLDAP + phpLDAPadmin ,寫的簡單明了,這里做一下搬運工
yum install openldap openldap-clients openldap-servers -y yum install phpldapadmin -y
生成管理員密碼slappasswd -s Admin123
{SSHA}aAwdh+JnUunpTSLlIw/zQG3t6/rXNI58
修改olcDatabase={2}hdb.ldif文件 將生成的加密字符寫進配置文件
vim /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
#修改olcSuffix: dc=rockstics,dc=comolcRootDN: cn=Manager,dc=rockstics,dc=com#添加olcRootPW: {SSHA}qtkKhiajMDZpbAS9sS9K4TfnePglsVz4
注意: 配置中dc=rockstics,dc=com 這種只是舉例,后面圖片或者配置中可能會出現不同的參數,請根據自己的實際情況填寫,別照抄哦修改olcDatabase={1}monitor.ldif文件
vim /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=rockstics,dc=com" read by * none
驗證配置slaptest -u
5f193b58 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"5f193b58 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif"config file testing succeeded
配置數據庫
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIGchown ldap:ldap -R /var/lib/ldapchmod 700 -R /var/lib/ldap
啟動slapd
systemctl start slapd
導入Schema
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldifldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldifldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
添加用戶和組
利用migrationtools 生成
yum install migrationtools -y 編輯migrate_common.ph 文件
vim /usr/share/migrationtools/migrate_common.ph
$DEFAULT_MAIL_DOMAIN = "rockstics.com";$DEFAULT_BASE = "dc=rockstics,dc=com";$EXTENDED_SCHEMA = 1;
生成base.ldif 文件
mkdir /etc/openldap/slapd.d/custom_ldif/usr/share/migrationtools/migrate_base.pl > /etc/openldap/slapd.d/custom_ldif/base.ldifldapadd -x -D "cn=admin,dc=rockstics,dc=com" -W -f /etc/openldap/slapd.d/custom_ldif/base.ldif
4.集成phpLDAPadmin web頁面4.1 基于HTTPweb服務器配置(nginx 直接看4.2)安裝HTTP,PHP和 phpldapadmin, 基于nginx + php + phpldapadmin的配置請直接拉到后面查看yum install epel-releaseyum -y install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml phpldapadmin
配置http:
vim /etc/httpd/conf.d/phpldapadmin.conf
## Web-based tool for managing LDAP servers#Alias /phpldapadmin /usr/share/phpldapadmin/htdocsAlias /ldapadmin /usr/share/phpldapadmin/htdocs<Directory /usr/share/phpldapadmin/htdocs><IfModule mod_authz_core.c># Apache 2.4Require all granted</IfModule><IfModule !mod_authz_core.c># Apache 2.2Order Deny,AllowDeny from allAllow from 192.168.119.123Allow from ::1</IfModule></Directory>
啟動LDAP
systemctl start httpdsystemctl enable httpdsystemctl status httpd
登陸頁面即可看到(圖片是后面補的,創建用戶見 https://blog.csdn.net/rockstics/article/details/108061374):
4.2 基于nginx的web服務器配置關于如何安裝OpenLDAP與phpLDAPadmin在一個Nginx服務器,網上很難找到相關的配置,于是不得不FQ找到了下面的配置記錄之,
server {listen 80;server_name phpldapadmin.nausch.org;access_log /var/log/nginx/phpldapadmin_access.log;error_log /var/log/nginx/phpldapadmin_errors.log;root /usr/share/phpldapadmin/htdocs/;index index.php index.html;location ~ \\.php {fastcgi_split_path_info ^(.+\\.php)(/.+)$;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param script_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}}
瀏覽器訪問 http://phpldapadmin.nausch.org如果無法訪問,請檢查php 版本配置,番外篇中有踩坑說明
番外篇1.slapd配置說明OpenLDAP 2.3和更高版本已過渡到使用動態運行時配置引擎slapd-config,具備以下特性:
完全啟用LDAP使用標準LDAP操作進行管理將其配置數據存儲在 LDIF數據庫,通常位于/usr/local/etc/openldap/slapd.d目錄中。允許即時更改slapd的所有配置選項,通常無需重新啟動服務器即可使更改生效。本版本(slapd 2.4.44 )仍支持較早版本的slapd.conf 文件,但已棄用該文件,在將來的OpenLDAP版本中將不再支持該文件。可以通過slapd.conf 配置slapd,使用slaptest或任何slap工具將現有的slapd.conf 文件轉換為新格式slapd-config:
slaptest -f /usr/local/etc/openldap/slapd.conf -F /usr/local/etc/openldap/slapd.d
測試您是否可以使用上面配置的默認rootdn和rootpw訪問cn = config下的條目:
ldapsearch -x -D cn = config -w VerySecret -b cn = config
注意:盡管slapd-config 系統將其配置存儲為(基于文本的)LDIF文件,但是您絕對不應直接編輯任何LDIF文件。配置更改應通過LDAP操作執行,例如ldapadd ,ldapdelete或ldapmodify
2.踩坑說明Nginx配置后各種不成功,一直以為是nginx配置的問題(也是之前對nginx配置PHP 不熟的原因,于是又補了一下PHP的知識,PHP中fastcgi和php-fpm是什么東西),后來想了下,可能是因為自己安裝的openladp版本比較新和PHP版本不兼容的問題,yum 默認安裝的php 版本為PHP 5.4.16,所以升級了PHP 相關所有的組件(Linux下PHP由5.6升級到7.2詳細教程)才成功(這里也有一個坑,升級的時候需要將之前PHP所有的組件卸載干凈了包括phpadmin,完美跳坑后終于成功)
phpldapadmin nginx配置文件參考2
server {server_name ldap01.linoxide.com;listen 80;# document rootroot /usr/share/nginx/www;index index.php index.html index.htm;# application: phpldapadminlocation /phpldapadmin {alias /usr/share/phpldapadmin/htdocs;index index.php index.html index.htm;}location ~ ^/phpldapadmin/.*\\.php$ {root /usr/share;if ($request_filename !~* htdocs) {rewrite ^/phpldapadmin(/.*)?$ /phpldapadmin/htdocs$1;}fastcgi_pass unix:/run/php/php7.0-fpm.sock; ##fastcgi_pass的另一種配置方式,相比于端口方式更高效fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename;include fastcgi_params;}# loggingerror_log /var/log/nginx/phpldapadmin.error.log;access_log /var/log/nginx/phpldapadmin.access.log;}
瀏覽器請求:http://ldap01.linoxide.com/phpldapadmin
5.LDAP常用命令說明ldapadd選項:-x 進行簡單認證-D 用來綁定服務器的DN-h 目錄服務的地址-w 綁定DN的密碼-f 使用ldif文件進行條目添加的文件如:
ldapadd -x -D "cn=admin,dc=rockstics,dc=com" -W -f /etc/openldap/slapd.d/custom_ldif/base.ldifldapadd -Y EXTERNAL -H ldapi:/// -f add_olcOverlay.ldif
ldapmodify選項-a 添加新的條目.缺省的是修改存在的條目.-C 自動追蹤引用.-c 出錯后繼續執行程序并不中止.缺省情況下出錯的立即停止.-D binddn 指定搜索的用戶名(一般為一dn 值).-e 設置客戶端證書文件,例: -e cert/client.crt-E 設置客戶端證書私鑰文件,例: -E cert/client.key-f file 從文件內讀取條目的修改信息而不是從標準輸入讀取.-H ldapuri 指定連接到服務器uri。常見格式為ldap://hostname:port-h ldaphost 指定要連接的主機的名稱/ip 地址.它和-p 一起使用.-p ldapport 指定要連接目錄服務器的端口號.它和-h 一起使用.-M[M] 打開manage DSA IT 控制. -MM 把該控制設置為重要的.-n 用于調試到服務器的通訊.但并不實際執行搜索.服務器關閉時,返回錯誤;服務器打開時,常和-v 參數一起測試到服務器是否是一條通路.-v 運行在詳細模塊.在標準輸出中打出一些比較詳細的信息.比如:連接到服務器的ip 地址和端口號等.-V 啟用證書認證功能,目錄服務器使用客戶端證書進行身份驗證,必須與-ZZ 強制啟用TLS 方式配合使用,并且匿名綁定到目錄服務器.-W 指定了該參數,系統將彈出一提示入用戶的密碼.它和-w 參數相對使用.-w bindpasswd 直接指定用戶的密碼. 它和-W 參數相對使用.-x 使用簡單認證.-Z[Z] 使用StartTLS 擴展操作.如果使用-ZZ,命令強制使用StartTLS 握手成功.
ldapmodify -Y EXTERNAL -H ldapi:/// -f modify_syncrepl.ldif
ldapsearch選項-x 進行簡單認證-D 用來綁定服務器的DN-w 綁定DN的密碼-b 指定要查詢的根節點-H 制定要查詢的服務器
ldapsearch -x -H ldap://192.168.119.126:389 -b "dc=rockstics,dc=com" |grep uid=ldapuser* ##匿名用戶可用ldapsearch -x -H ldap://192.168.119.126:389 -D "cn=Manager,dc=rockstics,dc=com" -b "ou=People,dc=rockstics,dc=com" -w admin123 |grep uid=ldapuser* ##用戶認證查詢
ldappasswd選項-x 進行簡單認證-D 用來綁定服務器的DN-w 綁定DN的密碼-S 提示的輸入密碼-s pass 把密碼設置為pass-a pass 設置old passwd為pass-A 提示的設置old passwd-H 是指要綁定的服務器-I 使用sasl會話方式
6.LDAP自助密碼服務參考: https://ltb-project.org/documentation/self-service-password/latest/config_general
vim /etc/yum.repos.d/ltb-project.repo
[ltb-project-noarch]name=LTB project packages (noarch)baseurl=https://ltb-project.org/rpm/$releasever/noarchenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-LTB-project
yum install self-service-password -y
Openldap 自助密碼服務self-service-password 實現用戶認證后自己修改密碼 需要設置
$who_change_password = "user"; $default_action = "change";
self-service-password配置文件/usr/share/self-service-password/conf/config.inc.php:
<?php$debug = false;$ldap_url = "ldap://localhost:389"; ##ldap地址,這里在同一臺機器上$ldap_starttls = false; ##是否啟用TLS證書$ldap_binddn = "cn=admin,dc=rockstics,dc=com"; ##DN賬號$ldap_bindpw = "rocsktics"; ##DN密碼確保可以連接到LDAP$ldap_base = "ou=People,dc=rockstics,dc=com";$ldap_login_attribute = "uid"; ##登陸用戶的屬性$ldap_fullname_attribute = "cn"; $ldap_filter = "(&(objectClass=inetOrgPerson)($ldap_login_attribute={login}))"; ##過濾用戶的規則$ad_mode = false;$ad_options['force_unlock'] = false;$ad_options['force_pwd_change'] = false;$ad_options['change_expired_password'] = false;$samba_mode = false;$shadow_options['update_shadowLastChange'] = false;$shadow_options['update_shadowExpire'] = false;$shadow_options['shadow_expire_days'] = -1;$hash = "clear";$hash_options['crypt_salt_prefix'] = "$6$";$hash_options['crypt_salt_length'] = "6";$pwd_min_length = 6; ##密碼最小長度$pwd_max_length = 12; $pwd_min_lower = 0;$pwd_min_upper = 0;$pwd_min_digit = 0;$pwd_min_special = 0;$pwd_special_chars = "^a-zA-Z0-9";$pwd_no_reuse = true;$pwd_diff_login = true;$pwd_complexity = 0;$use_pwnedpasswords = false;$pwd_show_policy = "never";$pwd_show_policy_pos = "above";$who_change_password = "manager"; ##在LDAP目錄中寫入時使用的用戶憑證,您可以將這些參數留空以進行匿名綁定。在這種情況下,必須使用用戶的憑證來完成密碼修改 (改為user 可實現用戶郵件或者問題或者短信認證后自己修改密碼)$use_change = true; ##如果不需要,可以禁用標準密碼更改,在這種情況下,請確保還從default_action中刪除“exchange”,否則更改頁面仍將顯示。$change_sshkey = false;$change_sshkey_attribute = "sshPublicKey";$who_change_sshkey = "user"; ##要在LDAP目錄書寫時使用用戶的憑據,替換manager用user的$who_change_password:$notify_on_sshkey_change = false;$use_questions = false; ##是否啟用問題認證$answer_objectClass = "extensibleObject";$answer_attribute = "info";$crypt_answers = true;$use_tokens = true; ##是否啟用郵箱認證$crypt_tokens = true;$token_lifetime = "3600";$mail_attribute = "mail";$mail_address_use_ldap = false;$mail_from = "admin@163.com";$mail_from_name = "LDAP賬號密碼重置";$mail_signature = "";$notify_on_change = false;$mail_sendmailpath = '/usr/sbin/sendmail';$mail_protocol = 'smtp';$mail_smtp_debug = 0;$mail_debug_format = 'error_log';$mail_smtp_host = 'smtp.163.com';$mail_smtp_auth = false;$mail_smtp_user = 'admin@163.com';$mail_smtp_pass = 'adminpasd';$mail_smtp_port = 465;$mail_smtp_timeout = 30;$mail_smtp_keepalive = false;$mail_smtp_secure = 'ssl';$mail_smtp_autotls = true;$mail_contenttype = 'text/plain';$mail_wordwrap = 0;$mail_charset = 'utf-8';$mail_priority = 3;$mail_newline = PHP_EOL;$use_sms = false; ##禁用短信驗證$sms_method = "mail";$sms_api_lib = "lib/smsapi.inc.php";$sms_attribute = "mobile";$sms_partially_hide_number = true;$smsmailto = "{sms_attribute}@service.provider.com";$smsmail_subject = "Provider code";$sms_message = "{smsresetmessage} {smstoken}";$sms_sanitize_number = false;$sms_truncate_number = false;$sms_truncate_number_length = 10;$sms_token_length = 6;$max_attempts = 3;$keyphrase = "rockstics"; ##如果您使用加密令牌,則需要一個關鍵詞$show_help = true;$lang = "en";$allowed_lang = array();$show_menu = true;$logo = "images/ltb-logo.png";$background_image = "images/unsplash-space.jpeg";$login_forbidden_chars = "*()&|"; ##禁止特殊字符,防止注入$use_recaptcha = false;$recaptcha_publickey = "";$recaptcha_privatekey = "";$recaptcha_theme = "light";$recaptcha_type = "image";$recaptcha_size = "normal";$recaptcha_request_method = null;$default_action = "change"; ##默認展示頁面;change/sendtoken/sendsms(如果你希望用戶認證后自己修改密碼,當然不想讓他在未認證時看到change頁面,此時default_action可設置為sendtoken郵件認證,即先通過郵件發送重置密碼鏈接,然后在新的鏈接里重置密碼)if (file_exists (__DIR__ . '/config.inc.local.php')) {require __DIR__ . '/config.inc.local.php';}
配置完重啟HTTP即可systemctl restart httpd
self-service-password http配置文件
[root@localhost ~]# cat /etc/httpd/conf.d/self-service-password.conf
<VirtualHost *>DocumentRoot /usr/share/self-service-passwordDirectoryIndex index.phpAddDefaultCharset UTF-8Alias /ssp /usr/share/self-service-password<Directory "/usr/share/self-service-password">AllowOverride NoneRequire all granted</Directory>LogLevel warnErrorLog /var/log/httpd/ssp_error_logCustomLog /var/log/httpd/ssp_access_log combined</VirtualHost>
self-service-password nginx配置文件
server {listen 80;root /var/www/html;index index.php index.html index.htm;# Make site accessible from http://localhost/server_name _;# Disable sendfile as per https://docs.vagrantup.com/v2/synced-folders/virtualbox.htmlsendfile off;gzip on;gzip_comp_level 6;gzip_min_length 1000;gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js;gzip_vary on;gzip_proxied any;gzip_disable "MSIE [1-6]\\.(?!.*SV1)";# Add stdout loggingerror_log /dev/stdout warn;access_log /dev/stdout main;# pass the PHP scripts to FastCGI server listening on socket#location ~ \\.php {fastcgi_pass unix:/var/run/php-fpm.socket;fastcgi_split_path_info ^(.+\\.php)(/.+)$;fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_index index.php;fastcgi_read_timeout 600;include fastcgi_params;}error_page 404 /404.html;location = /404.html {root /usr/share/nginx/html;internal;}# deny access to . files, for security#location ~ /\\. {log_not_found off; deny all;}}
下面是根據Linux系統用戶生成ldif文件創建Linux用戶,如非Linux用戶可直接跳過,導入base.ldif后可在圖形界面創建用戶,
groupadd ldapgroup1useradd -g ldapgroup1 ldapuser1passwd ldapuser1grep "ldapuser" /etc/passwd > /root/usersgrep "ldapgroup" /etc/group > /root/groups/usr/share/migrationtools/migrate_passwd.pl /root/users > /root/users.ldif/usr/share/migrationtools/migrate_group.pl /root/groups > /root/groups.ldif
導入賬號信息到OpenLDAP數據庫
ldapadd -x -w password -D cn=admin,dc=wmqe,dc=com -f /root/base.ldifldapadd -x -w password -D cn=admin,dc=wmqe,dc=com -f /root/users.ldifldapadd -x -w password -D cn=admin,dc=wmqe,dc=com -f /root/groups.ldif
添加用戶到用戶組的ldif文件
cat > add_user_to_groups.ldif << EOFdn: cn=ldapgroup1,ou=Group,dc=wmqe,dc=comchangetype: modifyadd: memberuidmemberuid: ldapuser1EOF
導入數據庫
ldapadd -x -w Admin123 -D cn=admin,dc=wmqe,dc=com -f /root/add_user_to_groups.ldif
后記:
CSDN 搜索rockstics 查看完整內容
以上就是關于如何搭建pos機,從0搭建LDAP統一認證服務的知識,后面我們會繼續為大家整理關于如何搭建pos機的知識,希望能夠幫助到大家!
