日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

使用MySQL验证Open***用户登录访问

發布時間:2025/3/20 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用MySQL验证Open***用户登录访问 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、預覽

? ? 要查看下面的配置,請預覽查看我的上一篇Open***用戶名密碼配置的博文

? ? 查看上一篇博文請點擊

二、安裝部署

環境準備

#關閉SELinux #setenforce?0 開啟路由轉發 sysctl?-w?net.ipv4.ip_forward=1 #添加策略 iptables?-t?nat?-A?POSTROUTING?-s?10.8.0.0/24?-o?eth0?-j?MASQUERADE

1、安裝數據庫

? ? 按照上篇文章部署好Open***之后,我們首先安裝一下MySQL數據庫。

yum?install?mysql-server?-y

2、創建mysql表

? ? 我們需要兩個表,一個是用于存儲Open***用戶的表,另一個就是記錄Open***用戶登錄的表,在用戶表我們設計了三個字段,第一列是Name,及***用戶的名稱,第二列是password,即用戶的密碼,第三列是設定用戶是否可以登陸***。

mysql>?create?database?open***; mysql>?use?open***; #創建用戶表 mysql>?create?table?***user?(name?????????char?(100)?not?null,password?????char?(255)?default?null,active???????int?(10)?not?null?default?1,primary?key??(name)); Query?OK,?0?rows?affected?(0.06?sec) mysql>?desc?***user; +----------+-----------+------+-----+---------+-------+ |?Field????|?Type??????|?Null?|?Key?|?Default?|?Extra?| +----------+-----------+------+-----+---------+-------+ |?name?????|?char(100)?|?NO???|?PRI?|?NULL????|???????| |?password?|?char(255)?|?YES??|?????|?NULL????|???????| |?active???|?int(10)???|?NO???|?????|?1???????|???????| +----------+-----------+------+-----+---------+-------+ 3?rows?in?set?(0.00?sec)

? ? 創建***用戶登錄表,以及插入一條用戶賬號密碼。

#創建登錄表 mysql>?create?table?logtable?(msg?????char?(254),user????char?(100),pid?????char?(100),host????char?(100),rhost???char?(100),time????char?(100)); Query?OK,?0?rows?affected?(0.06?sec) mysql>?desc?logtable; +-------+-----------+------+-----+---------+-------+ |?Field?|?Type??????|?Null?|?Key?|?Default?|?Extra?| +-------+-----------+------+-----+---------+-------+ |?msg???|?char(254)?|?YES??|?????|?NULL????|???????| |?user??|?char(100)?|?YES??|?????|?NULL????|???????| |?pid???|?char(100)?|?YES??|?????|?NULL????|???????| |?host??|?char(100)?|?YES??|?????|?NULL????|???????| |?rhost?|?char(100)?|?YES??|?????|?NULL????|???????| |?time??|?char(100)?|?YES??|?????|?NULL????|???????| +-------+-----------+------+-----+---------+-------+ 6?rows?in?set?(0.00?sec) #插入一條用戶數據 mysql>?insert?into?***user?(name,password)?values?('test1',password('test1')); mysql>?grant?all?on?open***.*?to?***@'localhost'?identified?by?'***'; mysql>?flush?privileges;


3、安裝pam_mysql模塊

? ? 使用MySQL數據庫來驗證Open***服務器登陸需要使用pam_mysql模塊,因此我們需要安裝這個模塊,直接使用yum安裝即可。

yum?install?pam_mysql?-y

4、配置pam_mysql模塊

? ? 下面的一些參數都是從文檔里面摘抄出來的,文檔是我們安裝pam_mysql帶來的,按照我們目前的辦理來看,文檔的路徑是/usr/share/doc/pam_mysql-0.7/README。

#?vim /etc/pam.d/open***

auth?sufficient?pam_mysql.so?user=***?passwd=***?host=localhost?db=open***?table=***user?usercolumn=name?passwdcolumn=password?[where=***user.active=1]?sqllog=0?crypt=2?sqllog=true?logtable=logtable?logmsgcolumn=msg?logusercolumn=user?logpidcolumn=pid?loghostcolumn=host?logrhostcolumn=rhost?logtimecolumn=time account?required?pam_mysql.so?user=***?passwd=***?host=localhost?db=open***?table=***user?usercolumn=name?passwdcolumn=password?[where=***user.active=1]?sqllog=0?crypt=2?sqllog=true?logtable=logtable?logmsgcolumn=msg?logusercolumn=user?logpidcolumn=pid?loghostcolumn=host?logrhostcolumn=rhost?logtimecolumn=time

? ? 使用testsaslauthd驗證登錄情況,如果出現下面的情況,說明我們的配置是正確的。

[root@ios***?~]#?saslauthd?-a?pam [root@ios***?~]#?testsaslauthd?-u?test1?-p?test1?-s?open*** 0:?OK?"Success."

5、安裝Open***服務器auth-pam插件

? ? 本來我們rpm包安裝的Open***里面是帶有我們需要的模塊open***-auth-pam.so,但是我試過了,有問題,認證無法通過,因為2.1以上的Open***的open***-auth-pam.so都會出現驗證錯誤的問題,這里需要我們重新編譯一個低版本的,我這里用2.0.7的,我附近里面有,編譯依賴pam_devel包。

yum?install?pam_devel?-y wget?http://pkgs.fedoraproject.org/repo/pkgs/open***/open***-2.0.7.tar.gz/93528233f1f6d02fc18e2c00f82e0aca/open***-2.0.7.tar.gz? tar?xf?open***-2.0.7.tar.gz? cd?open***-2.0.7/plugin/auth-pam/ make

? ? 把模塊拷貝到Open***的配置目錄下

cp?open***-auth-pam.so?/etc/open***/

6、Open***服務端配置文件 ? ?

? ? 配置好之后我們要使用這個模塊,加到服務器端的配置文件最后,最后的配置文件是:

# cat?/etc/open***/server.conf?

port?1194 proto?tcp dev?tun ca?/usr/share/doc/open***-2.3.7/sample/sample-keys/ca.crt cert?/usr/share/doc/open***-2.3.7/sample/sample-keys/server.crt key?/usr/share/doc/open***-2.3.7/sample/sample-keys/server.key dh?/usr/share/doc/open***-2.3.7/sample/sample-keys/dh2048.pem server?10.8.0.0?255.255.255.0 ifconfig-pool-persist?ipp.txt push?"route?10.0.0.0?255.255.255.0" push?"redirect-gateway?def1?bypass-dhcp" push?"dhcp-option?DNS?114.114.114.114" topology?subnet client-to-client duplicate-cn keepalive?10?120 comp-lzo persist-key persist-tun status?/var/log/open***/open***-status.log log-append?/var/log/open***/open***.log verb?3 script-security?3?system plugin?/etc/open***/open***-auth-pam.so?open*** client-cert-not-required username-as-common-name

7、客戶端配置文件

? ? 這里以windows客戶端為例。

client dev?tun proto?tcp remote?211.152.x.x?1194 nobind user?nobody group?nobody persist-key persist-tun ca?ca.crt ;cert?client.crt ;key?client.key comp-lzo verb?3 auth-user-pass?????????????#客戶端使用賬號密碼登錄 reneg-sec?360000

三、啟動測試

1、客戶端登陸


2、查看日志

? ? 登錄成功之后我們查看服務器的日志,日志如下,里面有連接的過程信息。

# more /var/log/open***/open***.log


3、查看***用戶登錄表

? ? 可見登錄成功,每登錄成功一次記錄三條信息,如果嫌里面記錄的信息過多,可以修改/etc/pam.d/open***來設定里面的信息。

4、禁用某個用戶登錄

? ? 我們只要把用戶表里面的對應用戶的active改為0,用戶就無法登錄,我們這里禁用test1的登錄。

mysql>?update?***user?set?active?=?'0'?where?name?=?'test1';




總結

以上是生活随笔為你收集整理的使用MySQL验证Open***用户登录访问的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。