{"id":1274,"date":"2021-07-30T14:37:01","date_gmt":"2021-07-30T06:37:01","guid":{"rendered":"https:\/\/egonlin.com\/?p=1274"},"modified":"2024-04-06T16:48:47","modified_gmt":"2024-04-06T08:48:47","slug":"acl%e5%ae%89%e5%85%a8%e7%ad%96%e7%95%a5","status":"publish","type":"post","link":"https:\/\/egonlin.com\/?p=1274","title":{"rendered":"ACL\u5b89\u5168\u7b56\u7565"},"content":{"rendered":"<h1>ACL\u5b89\u5168\u7b56\u7565<\/h1>\n<pre><code class=\"language-bash\">    Redis6\u4e4b\u524d\u7684\u7248\u672c\uff0c\u6211\u4eec\u53ea\u80fd\u4f7f\u7528requirepass\u53c2\u6570\u7ed9default\u7528\u6237\u914d\u7f6e\u767b\u5f55\u5bc6\u7801\uff0c\u540c\u4e00\u4e2aredis\u96c6\u7fa4\u7684\u6240\u6709\u5f00\u53d1\u90fd\u5171\u4eabdefault\u7528\u6237\uff0c\u96be\u514d\u4f1a\u51fa\u73b0\u8bef\u64cd\u4f5c\u628a\u522b\u4eba\u7684key\u5220\u6389\u6216\u8005\u6570\u636e\u6cc4\u9732\u7684\u60c5\u51b5\u3002<\/code><\/pre>\n<pre><code class=\"language-bash\">    \u56e0\u6b64Redis6\u7248\u672c\u63a8\u51fa\u4e86ACL(Access Controller List)\u8bbf\u95ee\u63a7\u5236\u6743\u9650\u7684\u529f\u80fd\uff0c\u57fa\u4e8e\u6b64\u529f\u80fd\uff0c\u6211\u4eec\u53ef\u4ee5\u8bbe\u7f6e\u591a\u4e2a\u7528\u6237\uff0c\u5e76\u4e14\u7ed9\u6bcf\u4e2a\u7528\u6237\u5355\u72ec\u8bbe\u7f6e\u547d\u4ee4\u6743\u9650\u548c\u6570\u636e\u6743\u9650\u3002\u4e3a\u4e86\u4fdd\u8bc1\u5411\u4e0b\u517c\u5bb9\uff0cRedis6\u4fdd\u7559\u4e86default\u7528\u6237\u548c\u4f7f\u7528requirepass\u7684\u65b9\u5f0f\u7ed9default\u7528\u6237\u8bbe\u7f6e\u5bc6\u7801\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0bdefault\u7528\u6237\u62e5\u6709Redis\u6700\u5927\u6743\u9650\uff0c\u6211\u4eec\u4f7f\u7528redis-cli\u8fde\u63a5\u65f6\u5982\u679c\u6ca1\u6709\u6307\u5b9a\u7528\u6237\u540d\uff0c\u7528\u6237\u4e5f\u662f\u9ed8\u8ba4default\u3002<\/code><\/pre>\n<h2>\u4e00\u3001ACL\u4e24\u79cd\u914d\u7f6e\u65b9\u5f0f<\/h2>\n<pre><code class=\"language-bash\">    \u914d\u7f6eACL\u7684\u65b9\u5f0f\u6709\u4e24\u79cd\uff0c\u4e00\u79cd\u662f\u5728config\u6587\u4ef6\u4e2d\u76f4\u63a5\u914d\u7f6e\uff0c\u53e6\u4e00\u79cd\u662f\u5728\u5916\u90e8aclfile\u4e2d\u914d\u7f6e\u3002\u914d\u7f6e\u7684\u547d\u4ee4\u662f\u4e00\u6837\u7684\uff0c\u4f46\u662f\u4e24\u79cd\u65b9\u5f0f\u53ea\u80fd\u9009\u62e9\u5176\u4e2d\u4e00\u79cd\uff0c\u6211\u4eec\u4e4b\u524d\u4f7f\u7528requirepass\u7ed9default\u7528\u6237\u8bbe\u7f6e\u5bc6\u7801 \u9ed8\u8ba4\u5c31\u662f\u4f7f\u7528config\u7684\u65b9\u5f0f\uff0c\u6267\u884cconfig rewrite\u91cd\u5199\u914d\u7f6e\u540e\u4f1a\u81ea\u52a8\u5728config\u6587\u4ef6\u6700\u4e0b\u9762\u65b0\u589e\u4e00\u884c\u8bb0\u5f55\u914d\u7f6edefault\u7684\u5bc6\u7801\u548c\u6743\u9650\u3002<\/code><\/pre>\n<h2>\u4e8c\u3001conf\u6587\u4ef6\u6a21\u5f0f<\/h2>\n<blockquote>\n<p>\u5728Redis 6.0\u4e4b\u524d\uff0cRedis\u53ea\u6709\u4e00\u4e2adefault\u7528\u6237\u4e5f\u662fRedis\u4e2d\u7684\u8d85\u7ea7\u7ba1\u7406\u5458\u7528\u6237\uff0c\u5982\u679c\u8981\u5c06\u5176\u8bbe\u7f6e\u5bc6\u7801\uff0c\u9700\u8981\u4fee\u6539Redis\u914d\u7f6e\u6587\u4ef6\uff0c\u5177\u4f53\u4fee\u6539\u5982\u4e0b\uff1a<\/p>\n<\/blockquote>\n<h3>1\u3001\u4fee\u6539\u914d\u7f6e\u6587\u4ef6<\/h3>\n<pre><code class=\"language-bash\">[root@xiaowu ~]# vim \/usr\/local\/redis\/conf\/redis.conf\n...\nrequirepass 123\n...<\/code><\/pre>\n<h3>2\u3001\u91cd\u542fRedis<\/h3>\n<pre><code class=\"language-bash\">[root@xiaowu ~]# systemctl restart redis.service <\/code><\/pre>\n<h3>3\u3001\u672a\u767b\u5f55\u6d4b\u8bd5<\/h3>\n<pre><code class=\"language-bash\">[root@xiaowu ~]# redis-cli --raw\n127.0.0.1:6379&gt; KEYS *\nNOAUTH Authentication required.<\/code><\/pre>\n<h3>4\u3001\u4f7f\u7528\u5bc6\u7801\u767b\u9646<\/h3>\n<p>\u65b9\u6cd5\u4e00\uff1a\u4e0d\u63a8\u8350<\/p>\n<pre><code class=\"language-bash\">[root@xiaowu ~]# redis-cli --raw -a 123\nWarning: Using a password with &#039;-a&#039; or &#039;-u&#039; option on the command line interface may not be safe.\n127.0.0.1:6379&gt; KEYS *\n\n127.0.0.1:6379&gt; set a b\nOK\n127.0.0.1:6379&gt; KEYS *\na\n127.0.0.1:6379&gt; GET a\nb<\/code><\/pre>\n<p>\u65b9\u6cd5\u4e8c\uff1a<\/p>\n<pre><code class=\"language-bash\">[root@xiaowu ~]# redis-cli --raw\n127.0.0.1:6379&gt; AUTH 123\nOK\n## \u6216\n127.0.0.1:6379&gt; AUTH default 123\nOK\n\n127.0.0.1:6379&gt; KEYS *\na\n127.0.0.1:6379&gt; GET a\nb\n<\/code><\/pre>\n<h3>5\u3001\u5c06\u5f53\u524d\u914d\u7f6e\u5199\u5165\u914d\u7f6e\u6587\u4ef6<\/h3>\n<pre><code class=\"language-bash\">127.0.0.1:6379&gt; CONFIG REWRITE<\/code><\/pre>\n<h3>6\u3001\u67e5\u770bdefault\u7528\u6237\u7684ACL\u662f\u5426\u751f\u6210<\/h3>\n<pre><code class=\"language-bash\">[root@xiaowu ~]# cat \/usr\/local\/redis\/conf\/redis.conf |grep &quot;user default&quot;\nuser default on #a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3 ~* +@all\n<\/code><\/pre>\n<h2>\u4e09\u3001\u5916\u90e8ACL\u6a21\u5f0f<\/h2>\n<blockquote>\n<p>\u6211\u4eec\u53ef\u4ee5\u76f4\u63a5\u5728config\u914d\u7f6e\u6587\u4ef6\u4e2d\u4f7f\u7528\u4e0a\u9762default\u7528\u6237ACL\u8fd9\u884cDSL\u547d\u4ee4\u8bbe\u7f6e\u7528\u6237\u6743\u9650\uff0c\u6216\u8005\u6211\u4eec\u4e5f\u53ef\u4ee5\u914d\u7f6e\u5916\u90e8aclfile\u914d\u7f6e\u6743\u9650\u3002\u914d\u7f6eaclfile\u9700\u8981\u5148\u5c06config\u4e2d\u914d\u7f6e\u7684DSL\u6ce8\u91ca\u6216\u5220\u9664\uff0c\u56e0\u4e3aRedis\u4e0d\u5141\u8bb8\u4e24\u79cdACL\u7ba1\u7406\u65b9\u5f0f\u540c\u65f6\u4f7f\u7528\uff0c\u5426\u5219\u5728\u542f\u52a8redis\u7684\u65f6\u5019\u4f1a\u62a5\u4e0b\u9762\u7684\u9519\u8bef<\/p>\n<\/blockquote>\n<pre><code class=\"language-bash\"># Configuring Redis with users defined in redis.conf and at the same setting an ACL file path is invalid. This setup is very likely to lead to configuration errors and security holes, please define either an ACL file or declare users directly in your redis.conf, but not both.<\/code><\/pre>\n<h3>1\u3001\u5f00\u542fACL\u6a21\u5f0f<\/h3>\n<h4>1.\u6ce8\u91ca\u914d\u7f6e\u6587\u4ef6\u4e2d\u5df2\u6388\u6743\u7684ACL\u547d\u4ee4<\/h4>\n<pre><code class=\"language-bash\">[root@xiaowu ~]# vim \/usr\/local\/redis\/conf\/redis.conf\n\n...\n# Generated by CONFIG REWRITE\n# user default on #a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3 ~* +@all<\/code><\/pre>\n<h4>2.\u6ce8\u91carequirepass<\/h4>\n<blockquote>\n<p>\u5728config\u6587\u4ef6\u4e2d\u6ce8\u91cadefault\u7528\u6237\u7684\u5bc6\u7801\uff0c\u56e0\u4e3a\u5f00\u542faclfile\u4e4b\u540e\uff0crequirepass\u7684\u5bc6\u7801\u5c31\u5931\u6548\u4e86<\/p>\n<\/blockquote>\n<pre><code class=\"language-bash\">[root@xiaowu ~]# vim \/usr\/local\/redis\/conf\/redis.conf\n\n...\n# requirepass 123\n...<\/code><\/pre>\n<h4>3.\u914d\u7f6eaclfile\u8def\u5f84<\/h4>\n<blockquote>\n<p>\u521b\u5efaaclfile\u6587\u4ef6\u8def\u5f84,\u7136\u540e\u5728config\u6587\u4ef6\u4e2d\u914d\u7f6eaclfile\u7684\u8def\u5f84<\/p>\n<\/blockquote>\n<pre><code class=\"language-bash\">##\u521b\u5efa\u6587\u4ef6\n[root@xiaowu ~]# cd \/usr\/local\/redis\/conf\/\n[root@xiaowu \/usr\/local\/redis\/conf]# touch users.acl\n\n## \u4fee\u6539\u914d\u7f6e\u6587\u4ef6\n[root@xiaowu ~]# vim \/usr\/local\/redis\/conf\/redis.conf\n...\naclfile \/usr\/local\/redis\/conf\/users.acl\n...<\/code><\/pre>\n<h4>4.\u91cd\u542fredis<\/h4>\n<pre><code class=\"language-bash\">systemctl restart redis<\/code><\/pre>\n<h4>5.\u767b\u5f55\u6d4b\u8bd5<\/h4>\n<blockquote>\n<p>\u7531\u4e8e\u914d\u7f6e\u6587\u4ef6\u7684\u4fee\u6539\uff0c\u73b0\u5728\u662f\u65e0\u5bc6\u7801\u72b6\u6001<\/p>\n<\/blockquote>\n<pre><code class=\"language-bash\">[root@xiaowu ~]# redis-cli --raw\n127.0.0.1:6379&gt; KEYS *\na\n127.0.0.1:6379&gt; ACL LIST\nuser default on nopass ~* +@all\n127.0.0.1:6379&gt; <\/code><\/pre>\n<h3>2\u3001\u5bf9\u6bd4conf\u548caclfile\u6a21\u5f0f<\/h3>\n<h4>1.\u767b\u5f55\u65b9\u5f0f\u4e0d\u540c<\/h4>\n<pre><code class=\"language-bash\">    \u5f00\u542faclfile\u4e4b\u540e\u4e0d\u518d\u63a8\u8350\u5728redis.conf\u6587\u4ef6\u4e2d\u901a\u8fc7requirepass\u914d\u7f6edefault\u7684\u5bc6\u7801\uff0c\u56e0\u4e3a\u5b83\u4e0d\u518d\u751f\u6548\uff0c\u540c\u65f6\u5f00\u542faclfile\u4e4b\u540e\u4e5f\u4e0d\u80fd\u4f7f\u7528redis-cli -a xxx\u767b\u9646\uff0c\u5fc5\u987b\u4f7f\u7528redis-cli --user xxx  --pass yyy\u6765\u767b\u9646\u3002\u5728\u6ca1\u8bbe\u7f6e\u5bc6\u7801\u7684\u65f6\u5019\u4e5f\u53ef\u4ee5\u65e0\u5bc6\u7801\u767b\u5f55<\/code><\/pre>\n<h4>2.\u91cd\u8f7d\u53ca\u6301\u4e45\u5316\u65b9\u5f0f\u4e0d\u540c<\/h4>\n<blockquote>\n<p>\u5728redis.conf\u548caclfile\u6a21\u5f0f\u4e2d\u914d\u7f6eDSL \u5b98\u65b9\u66f4\u63a8\u8350\u4f7f\u7528aclfile\uff0c\u56e0\u4e3a\u5982\u679c\u5728redis,conf\u4e2d\u914d\u7f6e\u4e86\u6743\u9650\u4e4b\u540e\u9700\u8981\u91cd\u542fredis\u670d\u52a1\u624d\u80fd\u5c06\u914d\u7f6e\u7684\u6743\u9650\u52a0\u8f7d\u81f3redis\u670d\u52a1\u4e2d\u6765\uff0c\u4f46\u5982\u679c\u4f7f\u7528aclfile\u6a21\u5f0f\uff0c\u53ef\u4ee5\u8c03\u7528acl load\u547d\u4ee4\u5c06aclfile\u4e2d\u914d\u7f6e\u7684ACL\u6743\u9650\u70ed\u52a0\u8f7d\u8fdb\u73af\u5883\u4e2d\uff0c\u7c7b\u4f3c\u4e8eMysql\u4e2d\u7684flush privileges\u3002<\/p>\n<\/blockquote>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\"><\/th>\n<th style=\"text-align: left;\">redis.conf<\/th>\n<th style=\"text-align: left;\">users.acl<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">\u914d\u7f6e\u65b9\u5f0f<\/td>\n<td style=\"text-align: left;\">DSL<\/td>\n<td style=\"text-align: left;\">DSL<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">\u52a0\u8f7dACL\u914d\u7f6e<\/td>\n<td style=\"text-align: left;\">\u91cd\u542fRedis\u670d\u52a1<\/td>\n<td style=\"text-align: left;\">ACL LOAD\u547d\u4ee4<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">\u6301\u4e45\u5316ACL\u914d\u7f6e<\/td>\n<td style=\"text-align: left;\">CONFIG REWRITE\u547d\u4ee4<\/td>\n<td style=\"text-align: left;\">ACL SAVE\u547d\u4ee4<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<pre><code class=\"language-bash\"># \u5982\u679c\u4f7f\u7528config\u6a21\u5f0f\uff0c\u5c06ACL\u6743\u9650\u6301\u4e45\u5316\u5230redis.conf\u6587\u4ef6\u4e2d\u4f7f\u7528\u4e0b\u9762\u7684\u547d\u4ee4\uff1a\nconfig rewrite\n\n# \u5982\u679c\u4f7f\u7528aclfile\u6a21\u5f0f\uff0c\u5c06ACL\u6743\u9650\u6301\u4e45\u5316\u5230users.acl\u6587\u4ef6\u4e2d\u4f7f\u7528\u4e0b\u9762\u7684\u547d\u4ee4\uff1a\nacl save<\/code><\/pre>\n<h3>3\u3001ACL\u547d\u4ee4\u884c\u4f7f\u7528<\/h3>\n<h4>1.ACL\u89c4\u5219<\/h4>\n<blockquote>\n<p>ACL\u662f\u4f7f\u7528DSL\uff08Domain specific language\uff09\u5b9a\u4e49\u7684\uff0c\u8be5DSL\u63cf\u8ff0\u4e86\u7528\u6237\u80fd\u591f\u6267\u884c\u7684\u64cd\u4f5c\u3002\u8be5\u89c4\u5219\u59cb\u7ec8\u4ece\u4e0a\u5230\u4e0b\uff0c\u4ece\u5de6\u5230\u53f3\u5e94\u7528\uff0c\u56e0\u4e3a\u89c4\u5219\u7684\u987a\u5e8f\u5bf9\u4e8e\u7406\u89e3\u7528\u6237\u7684\u5b9e\u9645\u6743\u9650\u5f88\u91cd\u8981\u3002ACL\u89c4\u5219\u53ef\u4ee5\u5728redis.conf\u6587\u4ef6\u4ee5\u53causers.acl\u6587\u4ef6\u4e2d\u914d\u7f6eDSL\uff0c\u4e5f\u53ef\u4ee5\u5728\u547d\u4ee4\u884c\u4e2d\u901a\u8fc7ACL\u547d\u4ee4\u914d\u7f6e\u3002<\/p>\n<\/blockquote>\n<h4>2.\u521b\u5efa\u7528\u6237<\/h4>\n<pre><code class=\"language-bash\">127.0.0.1:6379&gt; ACL SETUSER usera\nOK\n127.0.0.1:6379&gt; ACL LIST\nuser default on nopass ~* +@all\nuser usera off -@all<\/code><\/pre>\n<h4>3.\u7528\u6237\u7684\u542f\u7528\u548c\u7981\u7528<\/h4>\n<blockquote>\n<p>on\uff1a\u542f\u7528\u7528\u6237\uff1a\u53ef\u4ee5\u4ee5\u8be5\u7528\u6237\u8eab\u4efd\u8fdb\u884c\u8ba4\u8bc1\u3002<\/p>\n<p>off\uff1a\u7981\u7528\u7528\u6237\uff1a\u4e0d\u518d\u53ef\u4ee5\u4f7f\u7528\u6b64\u7528\u6237\u8fdb\u884c\u8eab\u4efd\u9a8c\u8bc1\uff0c\u4f46\u662f\u5df2\u7ecf\u901a\u8fc7\u8eab\u4efd\u9a8c\u8bc1\u7684\u8fde\u63a5\u4ecd\u7136\u53ef\u4ee5\u4f7f\u7528\u3002<\/p>\n<\/blockquote>\n<pre><code class=\"language-bash\"># \u67e5\u770b\u5f53\u524d\u7528\u6237\u72b6\u6001\uff0c\u65b0\u5efa\u7528\u6237\u9ed8\u8ba4\u672a\u6fc0\u6d3b\u72b6\u6001\n127.0.0.1:6379&gt; ACL LIST\nuser default on nopass ~* +@all\nuser usera off -@all\n\n# \u7ed9usera\u7528\u6237\u6fc0\u6d3b\n127.0.0.1:6379&gt; ACL SETUSER usera on\nOK\n127.0.0.1:6379&gt; ACL LIST\nuser default on nopass ~* +@all\nuser usera on -@all<\/code><\/pre>\n<h4>4.\u4e3a\u7528\u6237\u8bbe\u7f6e\u5bc6\u7801<\/h4>\n<table>\n<thead>\n<tr>\n<th>\u547d\u4ee4<\/th>\n<th>\u89e3\u91ca<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>&gt;<password><\/td>\n<td>\u5c06\u6b64\u5bc6\u7801\u6dfb\u52a0\u5230\u7528\u6237\u7684\u6709\u6548\u5bc6\u7801\u5217\u8868\u4e2d\u3002\u4f8b\u5982\uff0c&gt;mypass\u5c06\u201cmypass\u201d\u6dfb\u52a0\u5230\u6709\u6548\u5bc6\u7801\u5217\u8868\u4e2d\u3002\u8be5\u547d\u4ee4\u4f1a\u6e05\u9664\u7528\u6237\u7684nopass\u6807\u8bb0\u3002\u6bcf\u4e2a\u7528\u6237\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684\u6709\u6548\u5bc6\u7801\u3002<\/td>\n<\/tr>\n<tr>\n<td>&lt;<password><\/td>\n<td>\u4ece\u6709\u6548\u5bc6\u7801\u5217\u8868\u4e2d\u5220\u9664\u6b64\u5bc6\u7801\u3002\u82e5\u8be5\u7528\u6237\u7684\u6709\u6548\u5bc6\u7801\u5217\u8868\u4e2d\u6ca1\u6709\u6b64\u5bc6\u7801\u5219\u4f1a\u8fd4\u56de\u9519\u8bef\u4fe1\u606f\u3002<\/td>\n<\/tr>\n<tr>\n<td>#<hash><\/td>\n<td>\u5c06\u6b64SHA-256\u54c8\u5e0c\u503c\u6dfb\u52a0\u5230\u7528\u6237\u7684\u6709\u6548\u5bc6\u7801\u5217\u8868\u4e2d\u3002\u8be5\u54c8\u5e0c\u503c\u5c06\u4e0e\u4e3aACL\u7528\u6237\u8f93\u5165\u7684\u5bc6\u7801\u7684\u54c8\u5e0c\u503c\u8fdb\u884c\u6bd4\u8f83\u3002\u5141\u8bb8\u7528\u6237\u5c06\u54c8\u5e0c\u5b58\u50a8\u5728users.acl\u6587\u4ef6\u4e2d\uff0c\u800c\u4e0d\u662f\u5b58\u50a8\u660e\u6587\u5bc6\u7801\u3002\u4ec5\u63a5\u53d7SHA-256\u54c8\u5e0c\u503c\uff0c\u56e0\u4e3a\u5bc6\u7801\u54c8\u5e0c\u5fc5\u987b\u4e3a64\u4e2a\u5b57\u7b26\u4e14\u5c0f\u5199\u7684\u5341\u516d\u8fdb\u5236\u5b57\u7b26\u3002<\/td>\n<\/tr>\n<tr>\n<td>!<hash><\/td>\n<td>\u4ece\u6709\u6548\u5bc6\u7801\u5217\u8868\u4e2d\u5220\u9664\u8be5\u54c8\u5e0c\u503c\u3002\u5f53\u4e0d\u77e5\u9053\u54c8\u5e0c\u503c\u5bf9\u5e94\u7684\u660e\u6587\u662f\u4ec0\u4e48\u65f6\u5f88\u6709\u7528\u3002<\/td>\n<\/tr>\n<tr>\n<td>nopass<\/td>\n<td>\u79fb\u9664\u8be5\u7528\u6237\u5df2\u8bbe\u7f6e\u7684\u6240\u6709\u5bc6\u7801\uff0c\u5e76\u5c06\u8be5\u7528\u6237\u6807\u8bb0\u4e3anopass\u65e0\u5bc6\u7801\u72b6\u6001\uff1a\u4efb\u4f55\u5bc6\u7801\u90fd\u53ef\u4ee5\u767b\u5f55\u3002resetpass\u547d\u4ee4\u53ef\u4ee5\u6e05\u9664nopass\u8fd9\u79cd\u72b6\u6001\u3002<\/td>\n<\/tr>\n<tr>\n<td>resetpass<\/td>\n<td>\u60c5\u51b5\u8be5\u7528\u6237\u7684\u6240\u6709\u5bc6\u7801\u5217\u8868\u3002\u800c\u4e14\u79fb\u9664nopass\u72b6\u6001\u3002resetpass\u4e4b\u540e\u7528\u6237\u6ca1\u6709\u5173\u8054\u7684\u5bc6\u7801\u540c\u65f6\u4e5f\u65e0\u6cd5\u4f7f\u7528\u65e0\u5bc6\u7801\u767b\u5f55\uff0c\u56e0\u6b64resetpass\u4e4b\u540e\u5fc5\u987b\u6dfb\u52a0\u5bc6\u7801\u6216\u6539\u4e3anopass\u72b6\u6001\u624d\u80fd\u6b63\u5e38\u767b\u5f55\u3002<\/td>\n<\/tr>\n<tr>\n<td>reset<\/td>\n<td>\u91cd\u7f6e\u7528\u6237\u72b6\u6001\u4e3a\u521d\u59cb\u72b6\u6001\u3002\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5cresetpass\uff0cresetkeys\uff0coff\uff0c-@all\u3002<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<pre><code class=\"language-bash\">127.0.0.1:6379&gt; ACL SETUSER usera &gt;123\nOK\n127.0.0.1:6379&gt; ACL SETUSER default &gt;123\nOK\n\n127.0.0.1:6379&gt; ACL LIST\nuser default on #a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3 ~* +@all\nuser usera on #a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3 -@all<\/code><\/pre>\n<p><strong>\u9a8c\u8bc1<\/strong><\/p>\n<pre><code class=\"language-bash\">127.0.0.1:6379&gt; AUTH default 123\nOK\n127.0.0.1:6379&gt; ACL WHOAMI\ndefault<\/code><\/pre>\n<h4>6.\u6743\u9650\u8bbe\u7f6e<\/h4>\n<h5>1\uff09\u547d\u4ee4\u8c03\u7528\u6743\u9650<\/h5>\n<table>\n<thead>\n<tr>\n<th><strong><em>*\u547d\u4ee4*<\/em><\/strong><\/th>\n<th><strong><em>*\u89e3\u91ca*<\/em><\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>+<command><\/td>\n<td>\u5c06\u547d\u4ee4\u6dfb\u52a0\u5230\u7528\u6237\u53ef\u4ee5\u8c03\u7528\u7684\u547d\u4ee4\u5217\u8868\u4e2d\u3002<\/td>\n<\/tr>\n<tr>\n<td>&#8211;<command><\/td>\n<td>\u5c06\u547d\u4ee4\u4ece\u7528\u6237\u53ef\u4ee5\u8c03\u7528\u7684\u547d\u4ee4\u5217\u8868\u4e2d\u79fb\u9664\u3002<\/td>\n<\/tr>\n<tr>\n<td>+@<category><\/td>\n<td>\u5141\u8bb8\u7528\u6237\u8c03\u7528 <category> \u7c7b\u522b\u4e2d\u7684\u6240\u6709\u547d\u4ee4\uff0c\u6709\u6548\u7c7b\u522b\u4e3a@admin\uff0c@set\uff0c@sortedset\u7b49\uff0c\u53ef\u901a\u8fc7\u8c03\u7528ACL CAT\u547d\u4ee4\u67e5\u770b\u5b8c\u6574\u5217\u8868\u3002\u7279\u6b8a\u7c7b\u522b@all\u8868\u793a\u6240\u6709\u547d\u4ee4\uff0c\u5305\u62ec\u5f53\u524d\u548c\u672a\u6765\u7248\u672c\u4e2d\u5b58\u5728\u7684\u6240\u6709\u547d\u4ee4\u3002<\/td>\n<\/tr>\n<tr>\n<td>-@<category><\/td>\n<td>\u7981\u6b62\u7528\u6237\u8c03\u7528<category> \u7c7b\u522b\u4e2d\u7684\u6240\u6709\u547d\u4ee4\u3002<\/td>\n<\/tr>\n<tr>\n<td>+<command>|subcommand<\/td>\n<td>\u5141\u8bb8\u4f7f\u7528\u5df2\u7981\u7528\u547d\u4ee4\u7684\u7279\u5b9a\u5b50\u547d\u4ee4\u3002<\/td>\n<\/tr>\n<tr>\n<td>allcommands<\/td>\n<td>+@all\u7684\u522b\u540d\u3002\u5305\u62ec\u5f53\u524d\u5b58\u5728\u7684\u547d\u4ee4\u4ee5\u53ca\u5c06\u6765\u901a\u8fc7\u6a21\u5757\u52a0\u8f7d\u7684\u6240\u6709\u547d\u4ee4\u3002<\/td>\n<\/tr>\n<tr>\n<td>nocommands<\/td>\n<td>-@all\u7684\u522b\u540d\uff0c\u7981\u6b62\u8c03\u7528\u6240\u6709\u547d\u4ee4\u3002<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h5>2\uff09key\u7684\u8bbf\u95ee\u6743\u9650<\/h5>\n<table>\n<thead>\n<tr>\n<th>\u547d\u4ee4<\/th>\n<th>\u89e3\u91ca<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>~<pattern><\/td>\n<td>\u6dfb\u52a0\u53ef\u4ee5\u5728\u547d\u4ee4\u4e2d\u63d0\u53ca\u7684\u952e\u6a21\u5f0f\u3002\u4f8b\u5982~<em>\u548c<\/em> allkeys \u5141\u8bb8\u6240\u6709\u952e\u3002<\/td>\n<\/tr>\n<tr>\n<td>* resetkeys<\/td>\n<td>\u4f7f\u7528\u5f53\u524d\u6a21\u5f0f\u8986\u76d6\u6240\u6709\u5141\u8bb8\u7684\u6a21\u5f0f\u3002\u5982\uff1a ~foo:<em> ~bar:<\/em>  resetkeys ~objects:<em> \uff0c\u5ba2\u6237\u7aef\u53ea\u80fd\u8bbf\u95ee\u5339\u914d object:<\/em> \u6a21\u5f0f\u7684 KEY\u3002<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h5>3\uff09\u4f7f\u7528<\/h5>\n<h6>\u2460\u67e5\u770b\u53ef\u4ee5\u4fee\u6539\u7684\u6743\u9650<\/h6>\n<p><\/p><div id=\"rml_readmorelogin_placeholder\" style=\"position:relative;\"><div id=\"rml_fade_content\" style=\"position: absolute;\r\ntop:-10em;\r\nwidth:100%;\r\nheight:10em;\r\nbackground: -webkit-linear-gradient(rgba(255, 255, 255, 0) 0%,#ffffff 100%);\r\nbackground-image: -moz-linear-gradient(rgba(255, 255, 255, 0) 0%,#ffffff 100%);\r\nbackground-image: -o-linear-gradient(rgba(255, 255, 255, 0) 0%,#ffffff 100%);\r\nbackground-image: linear-gradient(rgba(255, 255, 255, 0) 0%,#ffffff 100%);\r\nbackground-image: -ms-linear-gradient(rgba(255, 255, 255, 0) 0%,#ffffff 100%);\"><\/div><div class=\"wpf-controller aru_rml_from_in_post\" style=\"background-color:#eeeeee;border:5px solid #cce6ff;\" id=\"ARU_ReadMoreLogin_ReadMoreLoginController\"><h2 id=\"Header\">\u67e5\u770b\u66f4\u591a<\/h2><div id=\"Message\"><p>\u8054\u7cfb\u7ba1\u7406\u5458\u5fae\u4fe1tutu19192010\uff0c\u6ce8\u518c\u8d26\u53f7<\/p>\n<\/div><div id=\"StatusBarHeader\"><\/div><form id=\"ARU_ReadMoreLogin_ReadMoreLoginController\"><input name=\"post_id\" value=\"1274\" type=\"hidden\"\/><input name=\"_init_callback\" value=\"InitLogin\" type=\"hidden\"\/><input name=\"post_id\" value=\"1274\" type=\"hidden\"\/><input name=\"rt_ype\" value=\"1\" type=\"hidden\"\/><input name=\"nonce\" value=\"47048e6e85\" type=\"hidden\"\/><input name=\"_wpnonce\" value=\"fe0b6c877b\" type=\"hidden\"\/><input name=\"_controller\" value=\"ARU_ReadMoreLogin\\ReadMoreLoginController\" type=\"hidden\"\/><input name=\"_proxy_controller\" value=\"ARU_ReadMoreLogin\\ReadMoreLoginController\" type=\"hidden\"\/><input name=\"_view\" value=\"ARU_ReadMoreLogin\\ReadMoreLoginView\" type=\"hidden\"\/><table class=\"wpf-table-placeholder\"><tbody class=\"wpf-table-placeholder\"><tr class=\"wpf-table-placeholder\"><td class=\"wpf-table-placeholder-input\" width=\"400px\"><table class=\"wpf-table-placeholder\"><tbody class=\"wpf-table-placeholder\"><tr class=\"wpf-table-placeholder\"><th class=\"wpf-table-placeholder-input\"><label class=\"wpf-label\">Username:<\/label><\/th><\/tr><tr class=\"wpf-table-placeholder\"><td class=\"wpf-table-placeholder-input\"><input class=\"regular-text text_input\" name=\"username\" value=\"\" type=\"text\"\/><\/td><\/tr><tr class=\"wpf-table-placeholder\"><th class=\"wpf-table-placeholder-input\"><label class=\"wpf-label\">Password:<\/label><\/th><\/tr><tr class=\"wpf-table-placeholder\"><td class=\"wpf-table-placeholder-input\"><input class=\"regular-text text_input\" name=\"password\" value=\"\" type=\"password\"\/><\/td><\/tr><\/tbody><\/table><p class=\"wpf-table-placeholder submit\"><button class=\"wp_plugin_framework_ajax_button\" type=\"button\" style=\"background-color:#4D90FE;;color:#ffffff;;border:1px solid #3079ed;\" name=\"_event\" value=\"ButtonLogin\">Log in<\/button><\/p><\/td><td class=\"wpf-table-placeholder-input\"><\/td><\/tr><\/tbody><\/table><\/form><div id=\"ButtonStartRegister\"><a href=\"https:\/\/egonlin.com\/wp-login.php?action=register\">Register<\/a><\/div><div id=\"Link1\"><a href=\"https:\/\/egonlin.com\/wp-login.php?action=lostpassword\">Forgotten username or password?<\/a><\/div><div id=\"StatusBarFooter\"><\/div><\/div><\/div><div id=aru_remaining_content><\/div>","protected":false},"excerpt":{"rendered":"<p>ACL\u5b89\u5168\u7b56\u7565 Redis6\u4e4b\u524d\u7684\u7248\u672c\uff0c\u6211\u4eec\u53ea\u80fd\u4f7f\u7528requirepass\u53c2\u6570\u7ed9default\u7528\u6237\u914d\u7f6e\u767b\u5f55\u5bc6\u7801 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[21,19,159,22,160,20],"_links":{"self":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts\/1274"}],"collection":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1274"}],"version-history":[{"count":1,"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts\/1274\/revisions"}],"predecessor-version":[{"id":9946,"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts\/1274\/revisions\/9946"}],"wp:attachment":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}