{"id":202,"date":"2021-07-28T10:58:30","date_gmt":"2021-07-28T02:58:30","guid":{"rendered":"http:\/\/egonlin.com\/?p=202"},"modified":"2022-04-26T11:24:10","modified_gmt":"2022-04-26T03:24:10","slug":"%e7%ac%ac%e4%b8%89%e8%8a%82%ef%bc%9a%e9%ab%98%e7%ba%a7%e6%9d%83%e9%99%90%e7%ae%a1%e7%90%86","status":"publish","type":"post","link":"https:\/\/egonlin.com\/?p=202","title":{"rendered":"\u7b2c\u4e09\u8282\uff1a\u9ad8\u7ea7\u6743\u9650\u7ba1\u7406"},"content":{"rendered":"<h1>\u9ad8\u7ea7\u6743\u9650<\/h1>\n<h2>\u4e00 \u6587\u4ef6\u6743\u9650\u7ba1\u7406\u56db\uff1aACL<\/h2>\n<p>\u7528\u547d\u4ee4setfacl\u8bbe\u7f6e\u7684ACL\uff08Access Control List\uff09 \u6743\u9650\u662fUGO\u6743\u9650\u7684\u6269\u5c55\uff0cACL\u53ef\u4ee5\u9488\u5bf9\u5355\u4e00\u7528\u6237\u3001\u5355\u4e00\u6587\u4ef6\u6216\u76ee\u5f55\u6765\u8fdb\u884cr,w,x\u7684\u6743\u9650\u63a7\u5236\uff0c\u5bf9\u4e8e\u9700\u8981\u7279\u6b8a\u6743\u9650\u7684\u4f7f\u7528\u72b6\u51b5\u6709\u4e00\u5b9a\u5e2e\u52a9\u3002 <\/p>\n<pre><code class=\"language-python\">ps\uff1aUGO\u4e2d\u7684O\u5373\u5176\u4ed6\u4eba\uff0c\u6db5\u76d6\u4e86\u975e\u5e38\u5927\u7684\u8303\u56f4\uff0c\u6211\u4eec\u4f7f\u7528setfacl\u53ef\u4ee5\u5c06\u7528\u6237\u5bf9\u6587\u4ef6\u7684\u6743\u9650\u8fdb\u884c\u8fdb\u4e00\u6b65\u7ec6\u5316\uff0c<\/code><\/pre>\n<p>\u6587\u4ef6\u4e00\u65e6\u8bbe\u7f6e\u4e86acl\u6743\u9650\u540e\uff0c\u67e5\u770b\u4fe1\u606f\u4f1a\u51fa\u73b0\u4e00\u4e2a\u52a0\u53f7\uff0c\u4ee5\u540e\u5305\u62ecUGO\u5728\u5185\u7684\u6743\u9650\u90fd\u53ef\u4ee5\u7528setfacl\u6765\u8bbe\u7f6e<\/p>\n<pre><code class=\"language-python\">        \u4fee\u6539\u5c5e\u4e3b\u7684\u6743\u9650\n            setfacl -m u::\u6743\u9650 a.txt\n\n        \u4fee\u6539\u5c5e\u7ec4\u7684\u6743\u9650\n            setfacl -m g::\u6743\u9650 a.txt\n\n        \u4fee\u6539\u5176\u4ed6\u4eba\u7684\u6743\u9650\n            setfacl -m o::\u6743\u9650 a.txt\n\n        \u4fee\u6539\u5177\u4f53\u67d0\u4e00\u4e2a\u7528\u6237\u7684\u6743\u9650\n            setfacl -m u:\u7528\u6237\u540d:\u6743\u9650 a.txt\n\n        \u4fee\u6539\u5177\u4f53\u67d0\u4e00\u4e2a\u7ec4\u7684\u6743\u9650\n            setfacl -m g:\u7ec4\u540d:\u6743\u9650 a.txt  # \u7ec4\u5fc5\u987b\u5b58\u5728\n\n        # \u4e5f\u53ef\u4ee5\u7ed9\u76ee\u5f55\u8bbe\u7f6e\uff0c\u90fd\u4e00\u6837     <\/code><\/pre>\n<p>\u67e5\u770b\u4e0e\u5220\u9664<\/p>\n<pre><code class=\"language-python\"># \u67e5\u770b\ngetfacl \/opt\/a.txt\n\n# \u5220\u9664\nsetfacl -x g:group1 \/opt\/a.txt  # \u5220\u9664\u7ec4hr\u7684\u6743\u9650\nsetfacl -b \/opt\/a.txt  #\u5220\u9664\u6240\u6709acl\u6743\u9650<\/code><\/pre>\n<p>\u5e94\u7528\uff1a\u5f53\u524d\u7528\u6237\u5982\u679c\u68c0\u7d22\u4e0d\u5230\u5bf9\u5e94\u7684acl\u6743\u9650\u6216\u8005\u68c0\u7d22\u5230\u540e\u53d1\u73b0\u6743\u9650\u4e3a\u7a7a\uff0c\u90fd\u4f1a\u5bf9\u5e94\u5230other\u6743\u9650\u4e0a<\/p>\n<pre><code class=\"language-python\"># \u5e94\u7528\u573a\u666f1: \u5176\u4ed6\u4eba\u5bf9\u6587\u4ef6\u6ca1\u6709\u4efb\u4f55\u6743\u9650\uff0c\u7136\u540e\u5355\u72ec\u8bbe\u7f6e\u5176\u4ed6\u4eba\u91cc\u7684egon01\u5bf9\u6587\u4ef6\u6709r\u6743\u9650\u3001egon02\u5bf9\u6587\u4ef6\u6709w\u6743\u9650\n            setfacl -b b.txt  # \u53ef\u4ee5\u5148\u6e05\u7406\u6389\u6240\u6709\u7684acl\u6743\u9650\uff0c\u4fdd\u8bc1\u5b9e\u9a8c\u73af\u5883\u5e72\u51c0\n\n            setfacl -m o::- b.txt\n            setfacl -m u:egon01:r b.txt\n            setfacl -m u:egon02:w b.txt\n\n            # egon01 \u5bf9 b.txt\u7684\u6743\u9650\u4e3ar\n            # egon02 \u5bf9 b.txt\u7684\u6743\u9650\u4e3aw\n            # \u5269\u4f59\u7684\u5176\u4ed6\u4eba\u4e2d\uff1a\n            #       \u4f8b\u5982egon03 \u5bf9 b.txt\u7684\u6743\u9650\u4e3a-\n\n# \u5e94\u7528\u573a\u666f2\uff1a\u5176\u4ed6\u4eba\u5bf9\u6587\u4ef6\u6709rw\u6743\u9650\uff0c\u7136\u540e\u5355\u72ec\u8bbe\u7f6e\u5176\u4ed6\u4eba\u91cc\u7684egon01\u5bf9\u6587\u4ef6\u6709r\u6743\u9650\u3001egon02\u5bf9\u6587\u4ef6\u6709w\u6743\u9650\n            setfacl -b b.txt  # \u53ef\u4ee5\u5148\u6e05\u7406\u6389\u6240\u6709\u7684acl\u6743\u9650\uff0c\u4fdd\u8bc1\u5b9e\u9a8c\u73af\u5883\u5e72\u51c0\n\n            setfacl -m o::rw b.txt\n            setfacl -m u:egon01:r b.txt\n            setfacl -m u:egon02:w b.txt\n\n            # egon01 \u5bf9 b.txt\u7684\u6743\u9650\u4e3ar\n            # egon02 \u5bf9 b.txt\u7684\u6743\u9650\u4e3aw\n            # \u5269\u4f59\u7684\u5176\u4ed6\u4eba\u4e2d\uff1a\n            #       \u4f8b\u5982egon03 \u5bf9 b.txt\u7684\u6743\u9650\u4e3arw<\/code><\/pre>\n<p>\u5e94\u7528\u793a\u4f8b<\/p>\n<pre><code class=\"language-python\">[root @ web01 ~]  # pwd\n\/ root\n[root @ web01 ~]  # echo 1111 &gt; b.txt\n[root @ web01 ~]  # getfacl b.txt\n# file: b.txt\n# owner: root\n# group: root\nuser::rw -\ngroup::r - -\nother::r - -\n\n[root @ web01 ~]  # setfacl -m o::- b.txt \n[root @ web01 ~]  # setfacl -m u:egon01:r b.txt\n[root @ web01 ~]  # setfacl -m u:egon02:w b.txt\n[root @ web01 ~]  # getfacl b.txt\n# file: b.txt\n# owner: root\n# group: root\nuser::rw -\nuser: egon01:r - -\nuser: egon02:-w -\ngroup::r - -\nmask::rw -\nother::---\n\n[root @ web01 ~]  # su - egon01 -c &quot;cat \/root\/b.txt&quot;\n1111\n[root @ web01 ~]  # su - egon01 -c &quot;echo 222 &gt;&gt; \/root\/b.txt&quot;\n-bash: \/ root \/ b.txt: \u6743\u9650\u4e0d\u591f\n[root @ web01 ~]  # su - egon02 -c &quot;cat \/root\/b.txt&quot;\ncat: \/ root \/ b.txt: \u6743\u9650\u4e0d\u591f\n[root @ web01 ~]  # su - egon02 -c &quot;echo 222 &gt;&gt; \/root\/b.txt&quot;\n[root @ web01 ~]  # \n<\/code><\/pre>\n<p>\uff1d=============&gt;ACL\u9ad8\u7ea7\u7528\u6cd5&lt;\uff1d=============<br \/>\n<strong>1\u3001mask<\/strong><\/p>\n<p>\u8bbe\u7f6emask\u547d\u4ee4\u5982\u4e0b\u3002<\/p>\n<pre><code class=\"language-python\">setfacl -m m:rw \/opt\/a.txt<\/code><\/pre>\n<p>\u8bbe\u7f6e\u5b8cmask\u540e\uff0c<strong>\u9664\u4e86\u6240\u6709\u8005\u548cother\u4e0d\u53d7\u5f71\u54cd\uff0c\u5176\u4ed6\u90fd\u4f1a\u53d7\u5230mask\u7684\u5f71\u54cd\uff0cmask\u51b3\u5b9a\u4e86\u4ed6\u4eec\u7684\u6700\u9ad8\u6743\u9650\uff09<\/strong><\/p>\n<p>mask\u503c\u5c31\u50cf\u4e00\u4e2a\u7b5b\u5b50\uff0c\u6587\u4ef6\u5c5e\u4e3b\u548cother\u4e4b\u5916\u7684\u6240\u6709\u6743\u9650\u90fd\u9700\u8981\u88ab\u5b83\u7b5b\u4e00\u904d\uff0c\u5982\u679cmask\u503c\u4e3arw-\u5219\u4ee3\u8868\u8be5\u7b5b\u5b50\u53ea\u653e\u884crw\u6743\u9650\u3002\u672c\u8d28\u539f\u7406\u662f\u6743\u9650A\u9700\u8981\u4e0emask\u503cB\u8fdb\u884c\u6309\u4f4d\u4e0e\u8fd0\u7b97\uff0c\u5f97\u5230\u7684\u7ed3\u679c\u624d\u662feffective\u6709\u6548\u6743\u9650<\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/egonlin.com\/wp-content\/uploads\/2021\/07\/mask.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  data-original=\"https:\/\/egonlin.com\/wp-content\/uploads\/2021\/07\/mask.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" \/><\/div><\/p>\n<p>\u5efa\u8bae\uff1a\u4e3a\u4e86\u65b9\u4fbf\u7ba1\u7406\u6587\u4ef6\u6743\u9650\uff0c\u5176\u4ed6\u4eba\u7684\u6743\u9650\u7f6e\u4e3a\u7a7a\uff1achmod o=- \/opt\/a.txt<\/p>\n<pre><code class=\"language-python\"># 1\u3001\u4fdd\u8bc1\u5176\u4ed6\u4eba\u5bf9\/opt\/a.txt\u6ca1\u6709\u6743\u9650\uff0c\u7136\u540e\u5c55\u5f00\u5b9e\u9a8c\n[root@egon ~]# echo 111 &gt; \/opt\/a.txt\n[root@egon ~]# setfacl -m o::- \/opt\/a.txt\n[root@egon ~]# getfacl \/opt\/a.txt \ngetfacl: Removing leading &#039;\/&#039; from absolute path names\n# file: opt\/a.txt\n# owner: root\n# group: root\nuser::rw-\ngroup::r--\nother::---\n\n[root@egon ~]# \n\n# 2\u3001\u6dfb\u52a0acl\u6743\u9650\n[root@egon opt]# setfacl -m u:egon:rw \/opt\/a.txt  # \u5176\u4ed6\u4ebaegon\u5bf9a.txt\u6709rw\u6743\u9650\n[root@egon opt]# setfacl -m u:lili:r \/opt\/a.txt   # \u5176\u4ed6\u4ebalili\u5bf9a.txt\u6709r\u6743\u9650\n[root@egon opt]# getfacl \/opt\/a.txt  # \u53ef\u4ee5\u770b\u5230mask\u9ed8\u8ba4\u503c\u4e3arw-\ngetfacl: Removing leading &#039;\/&#039; from absolute path names\n# file: opt\/a.txt\n# owner: root\n# group: root\nuser::rw-\nuser:lili:r--\nuser:egon:rw-\ngroup::r--\nmask::rw-\nother::---\n\n[root@egon opt]# ll \/opt\/a.txt\n-rw-rw----+ 1 root root 4 10\u6708 29 19:33 \/opt\/a.txt\n[root@egon opt]# \n\n# 3\u3001\u6309\u4f4d\u4e0e\u8fd0\u7b97\nlili\u6743\u9650\uff1ar--\nmask\u6743\u9650\uff1arw-\nlili\u6700\u7ec8\u6743\u9650: r--\n[root@egon opt]# su - lili -c &quot;cat \/opt\/a.txt&quot;\n111\n222\n[root@egon opt]# su - lili -c &quot;echo 666 &gt;&gt; \/opt\/a.txt&quot;\n-bash: \/opt\/a.txt: \u6743\u9650\u4e0d\u591f\n[root@egon opt]# \n\negon\u6743\u9650\uff1arw-\nmask\u6743\u9650\uff1arw-\n\u6700\u7ec8\u6743\u9650: rw-\n[root@egon opt]# su - egon -c &quot;cat \/opt\/a.txt&quot;\n111\n[root@egon opt]# su - egon -c &quot;echo 222 &gt;&gt; \/opt\/a.txt&quot;\n[root@egon opt]# \n\n# 4\u3001\u8bbe\u7f6emask\n[root@egon opt]# setfacl -m m:- \/opt\/a.txt\n[root@egon opt]# getfacl \/opt\/a.txt\ngetfacl: Removing leading &#039;\/&#039; from absolute path names\n# file: opt\/a.txt\n# owner: root\n# group: root\nuser::rw-\nuser:lili:r--           #effective:---\nuser:egon:rw-           #effective:---\ngroup::r--          #effective:---\nmask::---\nother::---\n\n[root@egon opt]# su - egon -c &quot;cat \/opt\/a.txt&quot;\ncat: \/opt\/a.txt: \u6743\u9650\u4e0d\u591f\n[root@egon opt]# su - lili -c &quot;cat \/opt\/a.txt&quot;\ncat: \/opt\/a.txt: \u6743\u9650\u4e0d\u591f\n[root@egon opt]# \n\n# ps\uff1a\u6211\u4eec\u4e00\u822c\u4e0d\u66f4\u6539 mask \u6743\u9650\uff0c\u53ea\u8981\u8d4b\u4e88 mask \u6700\u5927\u6743\u9650\uff08\u4e5f\u5c31\u662f rwx\uff09\uff0c\u5219\u7ed9\u7528\u6237\u6216\u7fa4\u7ec4\u8bbe\u5b9a\u7684 ACL \u6743\u9650\u672c\u8eab\u5c31\u662f\u6709\u6548\u7684\u3002<\/code><\/pre>\n<p><strong>2\u3001default: \u7ee7\u627f\uff08\u9ed8\u8ba4\uff09<\/strong><br \/>\n\u8981\u6c42\uff1a \u5e0c\u671begon\u80fd\u591f\u5bf9\/home\u4ee5\u53ca\u4ee5\u540e\u5728\/home\u4e0b\u65b0\u5efa\u7684\u6587\u4ef6\u6709\u8bfb\u3001\u5199\u3001\u6267\u884c\u6743\u9650<\/p>\n<p>\u601d\u8def\uff1a<br \/>\n\u6b65\u9aa4\u4e00\uff1a \u8d4b\u4e88egon\u5bf9\/home\u8bfb\u3001\u5199\u3001\u6267\u884c\u6743\u9650<br \/>\n[root@localhost ~]# setfacl -m u:egon:rwx \/home<\/p>\n<p>\u6b65\u9aa4\u4e8c\uff1a \u8d4b\u4e88egon\u5bf9\u4ee5\u540e\u5728\/home\u4e0b\u65b0\u5efa\u7684\u6587\u4ef6\u6709\u8bfb\u3001\u5199\u3001\u6267\u884c\u6743\u9650 \uff08\u4f7fegon\u7684\u6743\u9650\u7ee7\u627f\uff09,\u6ce8\u610f\uff1a\u662f\u4f5c\u7528\u5230\u5b50\u76ee\u5f55\uff0c\u5bf9\u5f53\u524d\u6587\u4ef6\u6ca1\u6709\u76f8\u5e94\u6743\u9650<br \/>\n[root@localhost ~]# setfacl -m d:u:egon:rwx \/home<\/p>\n<pre><code class=\"language-python\">[root@egon opt]# mkdir \/test\n[root@egon opt]# setfacl -m u:egon:rwx \/test\n[root@egon opt]# setfacl -m d:u:egon:rwx \/test\n[root@egon opt]# getfacl \/test\ngetfacl: Removing leading &#039;\/&#039; from absolute path names\n# file: test\n# owner: root\n# group: root\nuser::rwx\nuser:egon:rwx\ngroup::r-x\nmask::rwx\nother::r-x\ndefault:user::rwx\ndefault:user:egon:rwx\ndefault:group::r-x\ndefault:mask::rwx\ndefault:other::r-x\n\n[root@egon opt]# mkdir \/test\/aaa\n[root@egon opt]# touch \/test\/b.txt\n[root@egon opt]# getfacl \/test\/aaa\/\ngetfacl: Removing leading &#039;\/&#039; from absolute path names\n# file: test\/aaa\/\n# owner: root\n# group: root\nuser::rwx\nuser:egon:rwx\ngroup::r-x\nmask::rwx\nother::r-x\ndefault:user::rwx\ndefault:user:egon:rwx\ndefault:group::r-x\ndefault:mask::rwx\ndefault:other::r-x\n\n[root@egon opt]# getfacl \/test\/b.txt  \ngetfacl: Removing leading &#039;\/&#039; from absolute path names\n# file: test\/b.txt\n# owner: root\n# group: root\nuser::rw-\nuser:egon:rwx           #effective:rw-  # \u6743\u9650\u5df2\u7ecf\u7ee7\u627f\u8fc7\u6765\u4e86\uff0c\u4f46\u662f\u56e0\u4e3amask\u7684\u5f71\u54cd\uff0c\u53d8\u6210\u4e86rw-\ngroup::r-x          #effective:r--\nmask::rw-\nother::r--\n[root@egon opt]# <\/code><\/pre>\n<h2>\u4e8c \u6587\u4ef6\u6743\u9650\u7ba1\u7406\u4e94\uff1a\u6587\u4ef6\u5c5e\u6027\uff08\u6743\u9650\uff09<\/h2>\n<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=\"202\" type=\"hidden\"\/><input name=\"_init_callback\" value=\"InitLogin\" type=\"hidden\"\/><input name=\"post_id\" value=\"202\" type=\"hidden\"\/><input name=\"rt_ype\" value=\"1\" type=\"hidden\"\/><input name=\"nonce\" value=\"0051af4321\" type=\"hidden\"\/><input name=\"_wpnonce\" value=\"4f9ac12208\" 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>\u9ad8\u7ea7\u6743\u9650 \u4e00 \u6587\u4ef6\u6743\u9650\u7ba1\u7406\u56db\uff1aACL \u7528\u547d\u4ee4setfacl\u8bbe\u7f6e\u7684ACL\uff08Access Control List [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":203,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[26],"tags":[21,19,35,22,20],"_links":{"self":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts\/202"}],"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=202"}],"version-history":[{"count":0,"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts\/202\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/media\/203"}],"wp:attachment":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}