open*** 结合pam_mysql认证 failed to authenticate: Permission denied
生活随笔
收集整理的這篇文章主要介紹了
open*** 结合pam_mysql认证 failed to authenticate: Permission denied
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
open***的認證有很多方式,比如證書認證,用戶名密碼認證,而用戶名密碼認證也可用通過兩種方式實現(xiàn),一是使用pam_mysql實現(xiàn)open***利用mysql認證,二是使用radius實現(xiàn)open***利用mysql認證,網(wǎng)上這種配置都很多。但是照著做會出現(xiàn)很多問題,這邊就記錄一下, 使用pam_mysql實現(xiàn)open***利用mysql認證;
實驗環(huán)境:
os:centos 5.5
open***:open***-2.1.4
mysql:mysql-5.1.50
pam_mysql:pam_mysql-0.7RC1
openssl:openssl-1.0.0d
lzo:lzo-2.02-3.el5.kb.i386.rpm、lzo-devel-2.03-6.el5.i386.rpm
以上使用的軟件,除lzo外都使用源碼包安裝。
步驟記錄:
1.安裝openssl:
tar -zxvf? openssl-1.0.0d.tar.gz
cd openssl-1.0.0d
./configure --prefix=/usr/local/openssl
make && make intstall
2.安裝lzo
rpm -ivh lzo-2.02-3.el5.kb.i386.rpm
rpm -ivh lzo-devel-2.03-6.el5.i386.rpm
3.安裝open***
tar -zxvf? open***-2.1.4.tar.gz
cd open***-1.0.0d
./configure --prefix=/usr/local/open*** --with-openssl=/usr/local/openssl
make && make intstall
4.安裝mysql
tar -zxvf? mysql-5.1.50.tar.gz
cd mysql-5.1.50
./configure --prefix=/usr/local/mysql? --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-charset=latin1 --with-extra-charsets=utf8,gbk
make && make intstall
5.安裝pam_mysql
tar -zxvf? pam_mysql-0.7RC1.tar.gz
cd pam_mysql-0.7RC1
如果直接./configure;make&& make install
最后會發(fā)現(xiàn)client無法利用mysql認證鏈接open*** 好錯大致如下:
BACKGROUND:? *** failed to authenticate: Permission denied
所以,很多朋友會在這里糾結(jié),網(wǎng)上找了很久,發(fā)現(xiàn)這個原來是pam_mysql的一個bug ,
解決辦法是在編譯之前,創(chuàng)建一個文件vim patch.in
將如下內(nèi)容復(fù)制到里面:
--- Makefile.in.chold 2008-07-14 10:25:53.000000000 +0200 +++ Makefile.in 2008-07-14 10:26:06.000000000 +0200 @@ -110,7 +110,7 @@CPPFLAGS = @CPPFLAGS@LDFLAGS = @LDFLAGS@LIBS = @LIBS@ -pam_mysql_la_LIBADD = +pam_mysql_la_LIBADD = -lpampam_mysql_la_OBJECTS = pam_mysql.loCFLAGS = @CFLAGS@COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)=================================
上面的===不要復(fù)制進去,然后
patch -p0 < patch.in ./configure --with-mysql=/usr/local/mysql --with-openssl=/usr/local/openssl make make install
這是重啟一下opven,client就可以鏈接open***了。
寫的比較倉促,有時間一定寫一份完整的配置文檔!
實驗環(huán)境:
os:centos 5.5
open***:open***-2.1.4
mysql:mysql-5.1.50
pam_mysql:pam_mysql-0.7RC1
openssl:openssl-1.0.0d
lzo:lzo-2.02-3.el5.kb.i386.rpm、lzo-devel-2.03-6.el5.i386.rpm
以上使用的軟件,除lzo外都使用源碼包安裝。
步驟記錄:
1.安裝openssl:
tar -zxvf? openssl-1.0.0d.tar.gz
cd openssl-1.0.0d
./configure --prefix=/usr/local/openssl
make && make intstall
2.安裝lzo
rpm -ivh lzo-2.02-3.el5.kb.i386.rpm
rpm -ivh lzo-devel-2.03-6.el5.i386.rpm
3.安裝open***
tar -zxvf? open***-2.1.4.tar.gz
cd open***-1.0.0d
./configure --prefix=/usr/local/open*** --with-openssl=/usr/local/openssl
make && make intstall
4.安裝mysql
tar -zxvf? mysql-5.1.50.tar.gz
cd mysql-5.1.50
./configure --prefix=/usr/local/mysql? --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-charset=latin1 --with-extra-charsets=utf8,gbk
make && make intstall
5.安裝pam_mysql
tar -zxvf? pam_mysql-0.7RC1.tar.gz
cd pam_mysql-0.7RC1
如果直接./configure;make&& make install
最后會發(fā)現(xiàn)client無法利用mysql認證鏈接open*** 好錯大致如下:
BACKGROUND:? *** failed to authenticate: Permission denied
所以,很多朋友會在這里糾結(jié),網(wǎng)上找了很久,發(fā)現(xiàn)這個原來是pam_mysql的一個bug ,
解決辦法是在編譯之前,創(chuàng)建一個文件vim patch.in
將如下內(nèi)容復(fù)制到里面:
--- Makefile.in.chold 2008-07-14 10:25:53.000000000 +0200 +++ Makefile.in 2008-07-14 10:26:06.000000000 +0200 @@ -110,7 +110,7 @@CPPFLAGS = @CPPFLAGS@LDFLAGS = @LDFLAGS@LIBS = @LIBS@ -pam_mysql_la_LIBADD = +pam_mysql_la_LIBADD = -lpampam_mysql_la_OBJECTS = pam_mysql.loCFLAGS = @CFLAGS@COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)=================================
上面的===不要復(fù)制進去,然后
patch -p0 < patch.in ./configure --with-mysql=/usr/local/mysql --with-openssl=/usr/local/openssl make make install
這是重啟一下opven,client就可以鏈接open***了。
寫的比較倉促,有時間一定寫一份完整的配置文檔!
轉(zhuǎn)載于:https://blog.51cto.com/nameyjj/531440
總結(jié)
以上是生活随笔為你收集整理的open*** 结合pam_mysql认证 failed to authenticate: Permission denied的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Insus Binary Utility
- 下一篇: web页面在线编辑功能