Skip to content
survior edited this page Mar 1, 2018 · 19 revisions

一.linux 下安装memcached并启用SASL功能

(1).默认情况下,linux会自动安装Cyrus-SASL认证包。可使用下面的命令检查系统是否已经安装了Cyrus-SASL认证包或查看已经安装了何种版本。

rpm -qa | grep sasl

最全的是: 1.cyrus-sasl-plain-2.1.23-8.el6.i686
2.cyrus-sasl-devel-2.1.23-8.el6.i686
3.cyrus-sasl-2.1.23-8.el6.i686
4.cyrus-sasl-lib-2.1.23-8.el6.i686
5.cyrus-sasl-gssapi-2.1.23-8.el6.i686
6.cyrus-sasl-md5-2.1.23-8.el6.i686

我的是(阿里云亲测): 1.cyrus-sasl-2.1.23-13.el6_3.1.x86_64 2.cyrus-sasl-plain-2.1.23-13.el6_3.1.x86_64 3.cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64

查看密码验证机制,输入:saslauthd -v
我的是(阿里云亲测): saslauthd 2.1.23 authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap

为简单起见,这里准备采用shadow验证方法,也就是直接用/etc/shadow文件中的用户账户及密码进行验证。因此,在配置文件/etc/sysconfig/saslauthd中,应修改当前系统所采用的密码验证机制为shadow,即: MECH=shadow

重启saslauthd进程: /etc/init.d/saslauthd restart

/etc/init.d/saslauthd status 或者 ps aux | grep saslauthd 查看是否启动。

为memcache-sasl添加专有用户:saslpasswd2 -a memcached -c testmemuser 要求输入密码,简单起见:123456。添加的用户必须是系统中的用户,上面命令的意思就是,给memcached服务添加可访问的用户,没有添加的系统用户仍然是不可以访问该服务的。

用户是否work: testsaslauthd –u testmemuser –p pwd(特别注意,这个pwd不是上边的那个123456密码,而是testmemuser这个用户登录Linux的密码!这里坑死我了!)

若提示失败:0: NO "authentication failed",需要开启allow_saslauthd_read_shadow: setsebool -P allow_saslauthd_read_shadow 1

**有可能提示:setsebool: SELinux is disabled. 说明selinux被关闭了,需要打开:vi /etc/selinux/config更改为:SELINUX=1,必须重启linux,不重启是没办法立刻开启selinux的。

再次testsaslauthd –u testmemuser –p pwd提示:0: OK "Success."。

Clone this wiki locally