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