SASL全称Simple Authentication and Security Layer,是一种用来扩充C/S模式验证能力的机制。
简单来说SASL是一个胶合(glue)库,通过这个库把应用层与形式多样的认证系统整合在一起。这有点类似于 PAM,但是后者是认证方式,决定什么人可以访问什么服务,而SASL是认证过程,侧重于信任建立过程,这个过程可以调用PAM来建立信任关系。在这里Memcached就是上面提到的应用层,具体的认证交给SASL库,SASL会根据相应的认证机制来完成验证功能。
@H_403_4@
默认情况下,Red Hat Enterprise Linux安装程序会自动安装Cyrus-SASL认证包。可使用下面的命令检查系统是否已经安装了Cyrus-SASL认证包或查看已经安装了何种版本。@H_403_4@
查看sasl库有没有被安装@H_403_4@
rpm-qa|grepsasl@H_403_4@
@H_403_4@
查看密码验证机制,输入@H_403_4@
为简单起见,这里准备采用shadow验证方法,也就是直接用/etc/shadow文件中的用户账户及密码进行验证。因此,在配置文件/etc/sysconfig/saslauthd中,应修改当前系统所采用的密码验证机制为shadow
@H_403_4@@H_403_4@
MECH=shadow
@H_403_4@@H_403_4@
退出保存,启动saslauthd服务@H_403_4@@H_403_4@
service saslauthd restart@H_403_4@@H_403_4@
/usr/sbin/testsaslauthd–u test–p@H_403_4@123456@H_403_4@@H_403_4@
其中,test@H_403_4@@H_403_4@@H_403_4@为Linux系统中的用户账户名,123456为用户test@H_403_4@@H_403_4@@H_403_4@的密码。该命令执行后,如果出现如下所示的结果,则表示saslauthd的认证功能已起作用,
@H_403_4@@H_403_4@
亦可以自己添加用户给指定的程序,使用如下命令
@H_403_4@@H_403_4@
saslpasswd2-amemcached-c test@H_403_4@@H_403_4@
安装memcache,这个地方最好不要用yum直接安装,因为有可能没有编译进SASL模块,下载源码自己编译memcache。@H_403_4@@H_403_4@
下载libevent编译,或者使用操作系统自带的libevent,安装memcache@H_403_4@@H_403_4@
./configure --prefix=/opt/memcached --enable-sasl
@H_403_4@@H_403_4@
checking sasl/sasl.h usability... no
checking sasl/sasl.h presence... no
checking for sasl/sasl.h... no@H_403_4@@H_403_4@
yum install cyrus-sasl*@H_403_4@@H_403_4@
make & make install@H_403_4@@H_403_4@
sudo ln -s /opt/memcached/bin/memcached /usr/bin/memcached @H_403_4@