真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

pam_mysql怎么用 paas mysql

linux中的PAM到底是什么 如何使用配置呢 麻煩說(shuō)的通俗點(diǎn)

簡(jiǎn)單地說(shuō),PAM主要是由一組共享庫(kù)文件(也就是后綴名為.so文件)和一些配置文件組成的用于系統(tǒng)服務(wù)授權(quán)的一套東西,其中,PAM 就是 Pluggable Authentication Modules 這幾個(gè)英文單詞的縮寫。當(dāng)你在請(qǐng)求服務(wù)的時(shí)候,具有PAM認(rèn)證功能的應(yīng)用程序?qū)⑴c這些.so文件進(jìn)行交互,以便得知是否可以授權(quán)給發(fā)起請(qǐng)求的用戶來(lái)使用服務(wù),比如su, vsftp, httpd,等。如果認(rèn)證成功了,那么這個(gè)用戶便可以使用服務(wù)或完成命令,如果認(rèn)證失敗了,那么這個(gè)用戶將不能使用服務(wù),同時(shí),PAM將向指定的log文件寫入警告信息。我們可以將PAM看作是一個(gè)中間裁判,它不依賴于任何應(yīng)用或服務(wù)。你完全可以升級(jí)這些應(yīng)用或服務(wù)而不必管PAM的共享庫(kù)的更新或升級(jí),反之亦然。所以它非常的靈活。

按需求定制制作可以根據(jù)自己的需求進(jìn)行定制,成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作構(gòu)思過(guò)程中功能建設(shè)理應(yīng)排到主要部位公司成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作的運(yùn)用實(shí)際效果公司網(wǎng)站制作網(wǎng)站建立與制做的實(shí)際意義

怎么解決郵箱在收取郵件時(shí)彈出“ERR認(rèn)證失敗-authentication failed,重新輸入口令”?

?(提示535 Error: authentication failed) SASL認(rèn)證失敗的原因可分為如下幾個(gè)可能的方面: Permission問題:對(duì)系統(tǒng)用戶的SASL Auth尤其重要,要保證postfix用戶(smtpd)對(duì)/etc/shadow有讀權(quán)限,這必須將postfix加到root組并將shadow文件的組權(quán)限加到可讀,但這畢竟有些危險(xiǎn),建議不要使用系統(tǒng)用戶認(rèn)證特性;另一方面,如果是用pam(例如pam_mysql, pam_ldap等),特別注意/etc/pam.d/smtp文件(Linux系統(tǒng))對(duì)postfix用戶也必須是可讀,否則照樣會(huì)造成認(rèn)證失敗的原因。 配置問題:如果使用pam_ldap, pam_mysql,那么要注意/usr/lib/sasl/smtpd.conf或/usr/lib/sasl2/smtpd.conf的內(nèi)容不要寫錯(cuò),應(yīng)該為pwcheck_method: pam 另外/etc/ldap.conf(pam_ldap)及pam_mysql的配置文件一權(quán)限要對(duì),二配置必須正確,否則一樣無(wú)法認(rèn)證通過(guò)。 鏈接問題:主要指編譯Postfix時(shí)將Postfix連接到錯(cuò)誤的sasl 庫(kù),這在cyrus2.x里更加明顯,一般linux發(fā)行版的cyrus 2.0.x其實(shí)是1.5.x及2.0.x的集成版,因此編譯Postfix時(shí)如果連接到sasl1.x而smtpd.conf卻放在/usr/lib/sasl2下那么認(rèn)證無(wú)論如何都不會(huì)成功,請(qǐng)注意這點(diǎn)

pam_mysql連接mysql數(shù)據(jù)庫(kù)問題

提示的報(bào)錯(cuò)是不能通過(guò)本機(jī)的socket文件進(jìn)行連接

你可以在連接的時(shí)候使用端口進(jìn)行連接而不用socket文件,如mysql -uroot -P3306 -h127.0.0.1 就是使用本機(jī)的3306端口進(jìn)行連接,而不是通過(guò)socket文件。

求助,如何ftp和samba共用同一個(gè)目錄

FTP的目錄是可以自己選擇的,可以選擇C盤 D盤 E盤,也可以隨便選擇一個(gè)文件夾或者新建一個(gè)文件夾當(dāng)做FTP文件夾。這個(gè)可以在搭建FTP服務(wù)器的時(shí)候選擇路徑。

而使用SMB協(xié)議的話,需要右鍵選擇你需要的那個(gè)文件夾,點(diǎn)擊屬性設(shè)置為共享。你可以選擇用戶為everyone,這樣方便點(diǎn)。

按以上步驟即可實(shí)現(xiàn)FTP文件夾和SMB共享文件夾都是一個(gè)文件夾。

pam_mysql - MySQL error ......(can't connect to local mysql server through socket)

1、先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已經(jīng)啟動(dòng).

另外看看是不是權(quán)限問題.

2、確定你的mysql.sock是不是在那個(gè)位置,

mysql -u 你的mysql用戶名 -p -S /var/lib/mysql/mysql.sock

3、試試:service mysqld start

安裝了Postfix的Centos服務(wù)器是用什么方法來(lái)抓取遠(yuǎn)程郵件服務(wù)器上的郵件到本地的?

1 總體框架

1.1 體系架構(gòu)

Postfix:提供smtp標(biāo)準(zhǔn)協(xié)議,進(jìn)行郵件的收發(fā)

Cyrus-Imap:管理通過(guò)smtp收到的郵件,并為用戶的郵件客戶端如outlook/foxmail之類提供pop3/imap服務(wù)。用戶通過(guò)連接到cyrus-imap進(jìn)行個(gè)人郵件的管理

Cyrys-sasl:為smtp/pop3/imap提供SASL驗(yàn)證服務(wù)的中間層

PAM:為sasl提供一種驗(yàn)證算法的模塊,通過(guò)mysql插件可以將驗(yàn)證數(shù)據(jù)存儲(chǔ)在mysql數(shù)據(jù)庫(kù)中

Mysql:為PAM提供基本的用戶數(shù)據(jù),同時(shí)為postfix提供數(shù)據(jù)庫(kù)別名表

1.2 主要處理流程

收郵件:

1、 postfix收到郵件

2、 postfix到mysql的用戶表中檢索是否有與收件地址匹配的用戶

3、 postfix將郵件轉(zhuǎn)發(fā)給cyrus-imap的對(duì)應(yīng)用戶郵箱

4、 用戶通過(guò)郵件客戶端登陸cyrus-imap收取郵件

發(fā)郵件

1、用戶通過(guò)郵件客戶端登陸cyrus-imap,輸入用戶密碼進(jìn)行驗(yàn)證

2、用戶編寫并發(fā)送信郵件,提交到cyrus-imap

3、cyrus-imap將郵件提交給postfix,postfix通過(guò)smtp將郵件發(fā)送給目的地址

2 模塊安裝

2.1 rpm包及源代碼準(zhǔn)備

主要rpm包可以直接從CentOS 5.1中提取,postfix和pam_mysql因?yàn)樾枰匦戮幾g,所以需要使用源代碼

rpm:

pam-0.99.6.2-3.26.el5.i386.rpm

pam-devel-0.99.6.2-3.26.el5.i386.rpm

cyrus-sasl-2.1.22-4.i386.rpm

cyrus-sasl-lib-2.1.22-4.i386.rpm

cyrus-sasl-md5-2.1.22-4.i386.rpm

cyrus-sasl-plain-2.1.22-4.i386.rpm

cyrus-sasl-devel-2.1.22-4.i386.rpm

db4-4.3.29-9.fc6.i386.rpm

db4-utils-4.3.29-9.fc6.i386.rpm

db4-devel-4.3.29-9.fc6.i386.rpm

cyrus-imapd-utils-2.3.7-1.1.el5.i386.rpm

cyrus-imapd-perl-2.3.7-1.1.el5.i386.rpm

cyrus-imapd-2.3.7-1.1.el5.i386.rpm

mysql-5.0.22-2.1.0.1.i386.rpm

mysql-server-5.0.22-2.1.0.1.i386.rpm

mysql-devel-5.0.22-2.1.0.1.i386.rpm

libsysfs-2.0.0-6.i386.rpm

源代碼:

postfix 版本 2.5穩(wěn)定版,下載地址

文件名 postfix-2.5.2.tar.gz

pam_mysql 版本 0.7RC1,下載地址

文件名 pam_mysql-0.7RC1.tar.gz

2.2 安裝rpm包

安裝指令:rpm –ivh rpm包名稱

安裝順序:mysql-pam-db4-cyrus-sasl-cyrus-imap

2.3 編譯postfix

1.將源代碼解壓縮到/usr/src/

#cd /usr/src

#tar zxfv postfix-2.5.2.tar.gz

#cd postfix-2.5.2

2.確定mysql及cyrus-sasl的庫(kù)安裝位置(必須先安裝mysql-devel和cyrus-sasl-devel兩個(gè)rpm包)

一般位置

mysql include:/usr/include/mysql lib:/usr/lib/mysql

cyrus-sasl include:/usr/include/sasl lib:/usr/lib/sasl2

3.編譯postfix

編譯postfix需要指定支持mysql和cyrus-sasl功能,并根據(jù)上一步指定正確的庫(kù)和包含文件位置

#make makefiles 'CCARGS=-DUSE_SASL_AUTH -DHAS_MYSQL -DUSE_CYRUS_SASL -I/usr/include/mysql -I/usr/include/sasl' 'AUXLIBS=-L/usr/lib/mysql -L/usr/lib/sasl2 -lmysqlclient -lsasl2 -lz -lm'

#make install

編譯過(guò)程中,postfix會(huì)提示確認(rèn)各參數(shù),全部按回車使用默認(rèn)值即可

4.創(chuàng)建初始別名表

#postalias /etc/postfix/aliases

#postmap /etc/postfix/virtual

5.驗(yàn)證postfix

如果原來(lái)已經(jīng)安裝了sendmail,則需要做以下步驟刪除sendmail,才能啟動(dòng)postfix

#service sendmail stop

#rpm –e sendmail

啟動(dòng)并測(cè)試postfix

#postfix start

#telnet localhost 25

如果可以正常輸出以下內(nèi)容則確認(rèn)postfix啟動(dòng)成功。

Trying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is '^]'.

220 hostname.localdomain ESMTP Postfix

ehlo localhost

250- hostname.localdomain

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

quit

#postconf –a

如果輸出包含有cyrus,則說(shuō)明已經(jīng)支持cyrus-sasl驗(yàn)證,如:

cyrus

dovecot

#postconf –m

如果輸出包含有mysql,則說(shuō)明已經(jīng)支持mysql存取,如:

btree

cidr

environ

hash

mysql

nis

proxy

regexp

static

unix

2.4 編譯pam_mysql

pam_mysql我們選擇0.7RC1的版本,因?yàn)榭梢允褂门渲梦募姆绞绞古渲霉芾砀雍?jiǎn)單。

1.解壓源代碼

# cd /usr/src/

# tar zxfv pam_mysql-0.7RC1.tar.gz

2.預(yù)配置

#cd pam_mysql-0.7RC1

# ./configure --with-cyrus-sasl2

# make install

3.驗(yàn)證

# cd /lib/security/

# ls pam_mysql.so

如果該so存在,則編譯成功

3 模塊配置

首先我們需要為郵件系統(tǒng)創(chuàng)建一個(gè)統(tǒng)一的用戶表,能夠?yàn)閟asl提供用戶驗(yàn)證信息的存取,同時(shí)能為postfix提供用戶郵箱的信息。

然后將sasl以及imap的認(rèn)證都設(shè)定為通過(guò)mysql用戶表驗(yàn)證。最后將postfix的別名信息也使用該用戶表即可。

我們假定后續(xù)配置中,我們使用的庫(kù)名為mail,登陸用戶mail,密碼suntek,對(duì)應(yīng)的用戶表名為USER,主機(jī)名為sample,所屬域?yàn)閟ample.eboxhome.com。

我們需要?jiǎng)?chuàng)建兩個(gè)郵箱用戶cyrus和test。cyrus是cyrus-imap的管理用戶,test是我們用來(lái)測(cè)試郵箱功能的測(cè)試用戶,用戶密碼均為’suntek’

3.1 配置mysql

先使用mysql登陸本地?cái)?shù)據(jù)庫(kù)

1.創(chuàng)建庫(kù)

CREATE DATABASE mail;

2.創(chuàng)建用戶mail,設(shè)置密碼,并將庫(kù)mail的權(quán)限全部賦給用戶mail

GRANT ALL ON mail.* TO mail@localhost IDENTIFIED BY "suntek";

FLUSH PRIVILEGES;

3.創(chuàng)建USER表

USE mail

CREATE TABLE USER (

ID int(10) unsigned NOT NULL auto_increment,

USERNAME varchar(128) NOT NULL default '',

PASSWORD varchar(40) NOT NULL default '',

FORWARD varchar(128) NOT NULL default '',

DOMAIN varchar(64) NOT NULL default '',

MAIL varchar(64) NOT NULL default '',

FILTER varchar(64) NOT NULL default 'OK',

PARTITION varchar(32) NOT NULL default 'default',

QUOTA int(11) NOT NULL default '10485760',

STATUS tinyint(4) NOT NULL default '1',

PRIMARY KEY (ID),

UNIQUE KEY USERNAME (USERNAME),

UNIQUE KEY MAIL (MAIL)

);

主要字段定義:

USERNAME:用于驗(yàn)證的用戶名,如test

PASSWORD:使用encrypt方法加密的用戶密碼

FORWARD:cyrus-imap中對(duì)應(yīng)的郵箱名,也可以用于別名郵箱轉(zhuǎn)發(fā)

DOMAIN:該用戶所屬的郵件域,如sample.eboxhome.com

MAIL:該用戶的完整郵箱名,如test@sample.eboxhome.com

4.創(chuàng)建郵件用戶

備注:ENCRPTY是mysql提供的函數(shù),用來(lái)生成加密后的密碼

INSERT INTO USER (USERNAME,PASSWORD,FORWARD,DOMAIN,MAIL)

VALUES ('cyrus',ENCRYPT('suntek'),'postmaster','sample.eboxhome.com','cyrus@sample.eboxhome.com');

INSERT INTO USER (USERNAME,PASSWORD,FORWARD,DOMAIN,MAIL)

VALUES ('test',ENCRYPT('suntek'),'test','sample.eboxhome.com','test@sample.eboxhome.com');

腳本

3.2 配置pam

pam的配置主要分兩步,首先設(shè)置好如何通過(guò)mysql的用戶表進(jìn)行驗(yàn)證,然后將smtp/pop3/imap的驗(yàn)證方式都設(shè)置為mysql用戶表驗(yàn)證

1.創(chuàng)建mysql驗(yàn)證配置文件

#cd /etc/security

#vi pam_mysql.conf

輸入以下內(nèi)容并保存

users.host=localhost

users.database=mail

users.db_user=mail

users.db_passwd=suntek

users.table=USER

users.user_column=USERNAME

users.password_column=PASSWORD

users.password_crypt=y

verbose=1

log.enabled=0

log.table=logs

log.message_column=msg

log.pid_column=pid

log.user_column=user

log.host_column=host

log.rhost_column=rhost

log.time_column=logtime

說(shuō)明:

users.table是要做select查詢的用戶表名

users.user_column是用于檢索用戶名的列

users.password_column是指定要驗(yàn)證密碼的列

users.password_crypt是指定密碼的加密方式,設(shè)置為y,與我們添加用戶時(shí)的加密方式匹配

verbose=1表示認(rèn)證部分輸出日志,日志位置在/var/log/secure

2.設(shè)置郵件驗(yàn)證配置信息

# cd /etc/pam.d/

#vi mail

輸入以下內(nèi)容并保存

account required pam_mysql.so config_file=/etc/security/pam_mysql.conf

auth sufficient pam_mysql.so config_file=/etc/security/pam_mysql.conf

以上參數(shù)說(shuō)明驗(yàn)證時(shí)使用pam_mysql驅(qū)動(dòng),配置文件為/etc/security/pam_mysql.conf

3.設(shè)置各服務(wù)使用庫(kù)表驗(yàn)證

# cd /etc/pam.d/

首先先將pop imap smtp三個(gè)文件進(jìn)行備份或者移動(dòng)到其他地方

# ln -s mail smtp

# ln -s mail pop

# ln -s mail imap

4.驗(yàn)證用戶

我們需要啟動(dòng)pop3服務(wù)驗(yàn)證在庫(kù)內(nèi)添加的用戶是否有效

首先啟動(dòng)pop3服務(wù)

#service cyrus-imapd start

登陸pop3服務(wù)

#telnet localhost 110

如果輸出以下內(nèi)容,則說(shuō)明數(shù)據(jù)庫(kù)驗(yàn)證功能ok,加粗字體為用戶輸入部分(因?yàn)楝F(xiàn)在還沒配置用戶郵箱,所以驗(yàn)證成功后會(huì)提示找不到郵箱)

Trying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is '^]'.

+OK suntekbj Cyrus POP3 v2.3.7-Invoca-RPM-2.3.7-1.1.el5 server ready 2661826789.1212052774@sample

user test

+OK Name is a valid mailbox

pass suntek

-ERR [SYS/PERM] Unable to locate maildrop: Mailbox does not exist

quit

+OK

如果驗(yàn)證失敗,請(qǐng)檢查/var/log/secure的日志內(nèi)容,以排除故障

配置文件

3.3 配置postfix

postfix配置主要涉及三部分,郵件服務(wù)器本身信息、mysql別名表和啟用sasl驗(yàn)證的配置

1.設(shè)置cyrus的轉(zhuǎn)發(fā)處理接口

首先確認(rèn)cyrus的可執(zhí)行文件的路徑為/usr/lib/cyrus-imapd,然后修改master.cf

#cd /etc/postfix/

#vi master.cf

查找以下行,將前面注釋去掉,并將調(diào)用路徑改為上述路徑。注意,我們使用的cyrus-imap 2.3的版本,如果使用后面的2.1.5的語(yǔ)句,會(huì)導(dǎo)致cyrus返回Bad Protocol。

====================================================================

#

# The Cyrus deliver program has changed incompatibly, multiple times.

#cyrus unix - n n - - pipe

flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extension} ${user}

2.創(chuàng)建mysql別名信息

postfix增加了mysql支持功能后,可以根據(jù)用戶指定的信息,從庫(kù)表中讀取別名信息,我們這里直接使用前面創(chuàng)建的用戶表進(jìn)行別名管理。

#vi mysql-aliases.cf

寫入以下信息,并進(jìn)行保存

#mql config file for alias lookups on postfix

#

# the user name and password to log into the mysql server

hosts = localhost

user = mail

password = suntek

# the database name on the servers

dbname = mail

query = select FORWARD from USER where USERNAME = '%u' and STATUS = 1 limit 1

query是postfix新增加的功能,可以直接編寫查詢語(yǔ)句,運(yùn)行時(shí)postfix會(huì)取出收件郵箱的用戶名部分,替換到%u然后進(jìn)行查詢。

3.修改郵件服務(wù)器信息

該部分需要設(shè)置郵件服務(wù)器的主要信息,同時(shí)啟動(dòng)sasl認(rèn)證以及指定mysql別名表

# vi main.cf

需要修改的參數(shù)如下:

#本機(jī)完整地址

myhostname = sample.eboxhome.com

#發(fā)出郵件的域名

myorigin = $myhostname

#指定從mysql中讀取別名

alias_maps = hash:/etc/aliases, mysql:/etc/postfix/mysql-aliases.cf

#指定將郵件轉(zhuǎn)給cyrus處理

mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp

local_destination_recipient_limit = 300

local_destination_concurrency_limit = 5

fallback_transport = lmtp:unix:/var/lib/imap/socket/lmtp

#啟用sasl驗(yàn)證

smtpd_sasl_auth_enable = yes

smtpd_recipient_restrictions =

permit_mynetworks

permit_sasl_authenticated

reject_unauth_destination

smtpd_sasl_authenticated_header = yes

4.重新加載postfix參數(shù)

#postfix reload

配置文件:

3.4 配置cyrus-imap

cyrus-imap提供了一個(gè)管理工具cyradm,以便用戶進(jìn)行郵箱創(chuàng)建及管理,我們需要為創(chuàng)建一個(gè)測(cè)試用戶test的郵箱,以接收從postfix轉(zhuǎn)發(fā)過(guò)來(lái)的test用戶郵件。

1.配置imapd

首先需要允許imap里使用完整的命名空間,以及用’.’間隔的地址

#cd /etc

#vi imapd.conf

在后面追加兩行:

unixhierarchysep: yes

altnamespace: yes

保存后重新imapd服務(wù)

#service cyrus-imapd restart

2.登陸管理終端

#cyradm --user=cyrus localhost

創(chuàng)建用戶郵箱,注意郵箱名必須為user/用戶名,否則cyrus接收到郵件時(shí)會(huì)提示Mailbox not exists

創(chuàng)建用戶test郵箱

#cm user/test

設(shè)置最大空間為10M

#sq user/test STORAGE 1048570

允許管理員使用dm指令刪除該用戶郵箱

#sam user/test cyrus cd

3.驗(yàn)證

啟動(dòng)郵件客戶端outlook/foxmail,將pop3/smtp服務(wù)器設(shè)置為郵件服務(wù)器ip,使用test用戶登錄,驗(yàn)證是否可以進(jìn)行郵件收發(fā)功能

3.5 配置自動(dòng)啟動(dòng)服務(wù)

所有服務(wù)配置完成之后,我們需要設(shè)定sasl認(rèn)證/smtp/pop3/imap服務(wù)都能在下次開機(jī)時(shí)自動(dòng)啟動(dòng)

#chkconfig –add postfix

如果以前安裝了sendmail,則需要卸除該服務(wù)

#chkconfig –del sendmail

#chkconfig saslauthd on

#chkconfig cyrus-imapd on

#chkconfig postfix on


網(wǎng)頁(yè)名稱:pam_mysql怎么用 paas mysql
文章路徑:http://weahome.cn/article/dodcdce.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部