精华内容
下载资源
问答
  • ACL使用详解

    千次阅读 2017-11-08 14:33:00
    ACL:访问控制列表,主要用于对文件或者目录权限的设定 如何使用: getfacl [FILE]:查看此文件acl权限 setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file ... 特殊权限: mask权限:此权限为最...

    ACL:访问控制列表,主要用于对文件或者目录权限的设定

        如何使用:

            getfacl [FILE]:查看此文件acl权限

            setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file ...

        特殊权限:

            mask权限:此权限为最大有效权限,当为用户或者组设定的权限,与mask权限有相同的权限时,才为最终的权限

        常用选项:

            -m:创建新的acl权限

            -x:删除指定的acl权限

            -b:删除所有的acl权限

            -d:设定默认acl权限

            -k:删除默认的acl权限

            -R:以递归的方式设定acl权限

        查看当前文件或目录的acl权限:

            #getfacl test 

            wKioL1bWSz3iFYfiAAAOdLjmN8M270.png  

        对用户设定acl权限:

            #setfacl -m u:liu:rwx test

            wKioL1bWS6bTmXYjAAATFljBIMg441.png

        对组设定acl权限:

            #setfacl -m g:tgroup:rx test

            wKiom1bWTH6C4PiFAAAXxNQnexo217.png

        设定最大有效权限mask:

            #setfacl -m m:rx test  此前为用户liu设定的权限为rwx,设定mask权限后,最终有效的权限为rx

            wKiom1bWTWChe-gLAAAXbHhdNtg975.png

        删除用户权限:

            #setfacl -x u:liu test     可以看到此前为用户liu设定的权限已经没有了

            wKioL1bWTpvQWQQxAAAY7nTsBZI428.png

        删除组权限:

            #setfacl -x g:tgroup test    可以看到此前为组tgroup设定的权限已经没有了

            wKioL1bWTvCh-6fTAAAW0lPlDoE497.png

         设定递归权限:

            #setfacl -R -m u:liu:rx test  在此目录下的所有文件或者目录,用户liu都只有rx权限

         删除全部权限:

            #setfacl -b test

         设定默认权限:

            #setfacl -m d:u:liu:rx test  

          删除默认权限:

            #setfacl -k test

    本文转自激情燃烧的岁月博客51CTO博客,原文链接http://blog.51cto.com/liuzhengwei521/1746614如需转载请自行联系原作者


    weilovepan520

    展开全文
  • spring security3.0.4 的acl使用例子

    热门讨论 2010-11-22 16:39:42
    spring security3.0.4 的acl使用例子,相关的说明在 http://blog.csdn.net/lhx1026/archive/2010/11/22/6027125.aspx
  • Consul使用【ACL使用

    2019-10-09 09:50:25
    接前文,需要开启consul ACL配置,如下 #enable_key_list_policy开启true,为kv配置acl控制 "acl":{ "enabled":true, "default_policy":"deny", "enable_token_persistence":true, "enable_key_list...
    • 接前文,需要开启consul ACL配置,如下
    #enable_key_list_policy开启true,为kv配置acl控制
        "acl":{
            "enabled":true,
            "default_policy":"deny",
            "enable_token_persistence":true,
            "enable_key_list_policy":true,
            "tokens":{
                "master":"14d54c5e-24ca-41cc-8c9e-987ba7a96ffb",
                "agent":"db98c304-4d38-8660-fafe-6a4be56a40d0"
            }
        }
    • 策略级别

        策略可以具有多个控制级别:

    • read:允许读取但不修改资源。
    • write:允许读取和修改资源。
    • deny:不允许读取或修改资源。
    • list:允许访问领事KV中某个网段下的所有键。注意,此策略只能与key_prefix资源一起使用,并且acl.enable_key_list_policy必须设置为true。
    • k-v创建token示例
    # These control access to the key/value store.
    key_prefix "" {
      policy = "read"
    }
    key_prefix "foo/" {
      policy = "write"
    }
    key_prefix "foo/private/" {
      policy = "deny"
    }
    # Or for exact key matches
    key "foo/bar/secret" {
      policy = "deny"
    }
    
    # This controls access to cluster-wide Consul operator information.
    operator = "read"

    等效

    {
      "key_prefix": {
        "": {
          "policy": "read"
        },
        "foo/": {
          "policy": "write"
        },
        "foo/private/": {
          "policy": "deny"
        }
      },
      "key" : {
        "foo/bar/secret" : {
          "policy" : "deny"
        }
      },
      "operator": "read"
    }
    key_prefix "" {
      policy = "read"
    }
    key "foo" {
      policy = "write"
    }
    key "bar" {
      policy = "deny"
    }
    key_prefix "" {
     policy = "deny"
    }
    
    key_prefix "bar" {
     policy = "list"
    }
    
    key_prefix "baz" {
     policy = "read"
    }
    node_prefix "" {
      policy = "read"
    }
    node "app" {
      policy = "write"
    }
    node "admin" {
      policy = "deny"
    }
    agent_prefix "" {
      policy = "read"
    }
    agent "foo" {
      policy = "write"
    }
    agent_prefix "bar" {
      policy = "deny"
    }
    event_prefix "" {
      policy = "read"
    }
    event "deploy" {
      policy = "write"
    }
    node_prefix "" {
      policy = "read"
    }
    node "app" {
      policy = "write"
    }
    node "admin" {
      policy = "deny"
    }
    query_prefix "" {
      policy = "read"
    }
    query "foo" {
      policy = "write"
    }
    service_prefix "" {
      policy = "read"
    }
    service "app" {
      policy = "write"
    }
    service "admin" {
      policy = "deny"
    }
    session_prefix "" {
      policy = "read"
    }
    session "app" {
      policy = "write"
    }
    session "admin" {
      policy = "deny"
    }
    • 遇到的坑!

    当我创建一个token,分配了policy,如service_prefix....用这个token登录ui,在Services中可以看到权限内的service!同理node也是一样,但是针对key/values不行,会直接跳转到ACL登录页面

    这时候并不是acl没有权限,需要在浏览器中直接输入http://ip:8500/ui/dc1/kv/foo/,dc1是datacenter的名字,foo为policy赋予的kv前缀,这样就可以在ui中修改key/values了

    展开全文
  • RocketMQ ACL使用指南

    万次阅读 2019-06-30 14:30:28
    详细介绍RocketMQ acl访问控制列表的流程图、plain_acl.yml文件各配置项的详细介绍、权限匹配验证流程与acl使用示例。

    1、什么是ACL?

    ACL是access control list的简称,俗称访问控制列表。访问控制,基本上会涉及到用户、资源、权限、角色等概念,那在RocketMQ中上述会对应哪些对象呢?

    • 用户
      用户是访问控制的基础要素,也不难理解,RocketMQ ACL必然也会引入用户的概念,即支持用户名、密码。
    • 资源
      资源,需要保护的对象,在RocketMQ中,消息发送涉及的Topic、消息消费涉及的消费组,应该进行保护,故可以抽象成资源。
    • 权限
      针对资源,能进行的操作,
    • 角色
      RocketMQ中,只定义两种角色:是否是管理员。

    另外,RocketMQ还支持按照客户端IP进行白名单设置。

    2、ACL基本流程图

    在讲解如何使用ACL之前,我们先简单看一下RocketMQ ACL的请求流程:
    在这里插入图片描述
    对于上述具体的实现,将在后续文章中重点讲解,本文的目的只是希望给读者一个大概的了解。

    3、如何配置ACL

    3.1 acl配置文件

    acl默认的配置文件名:plain_acl.yml,需要放在${ROCKETMQ_HOME}/store/config目录下。下面对其配置项一一介绍。

    3.1.1 globalWhiteRemoteAddresses

    全局白名单,其类型为数组,即支持多个配置。其支持的配置格式如下:


    • 表示不设置白名单,该条规则默认返回false。
    • “*”
      表示全部匹配,该条规则直接返回true,将会阻断其他规则的判断,请慎重使用。
    • 192.168.0.{100,101}
      多地址配置模式,ip地址的最后一组,使用{},大括号中多个ip地址,用英文逗号(,)隔开。
    • 192.168.1.100,192.168.2.100
      直接使用,分隔,配置多个ip地址。
    • 192.168.*.或192.168.100-200.10-20
      每个IP段使用 "
      " 或"-"表示范围。

    3.1.2 accounts

    配置用户信息,该类型为数组类型。拥有accessKey、secretKey、whiteRemoteAddress、admin、defaultTopicPerm、defaultGroupPerm、topicPerms、groupPerms子元素。

    3.1.2.1 accessKey

    登录用户名,长度必须大于6个字符。

    3.1.2.2 secretKey

    登录密码。长度必须大于6个字符。

    3.1.2.3 whiteRemoteAddress

    用户级别的IP地址白名单。其类型为一个字符串,其配置规则与globalWhiteRemoteAddresses,但只能配置一条规则。

    3.1.2.4 admin

    boolean类型,设置是否是admin。如下权限只有admin=true时才有权限执行。

    • UPDATE_AND_CREATE_TOPIC
      更新或创建主题。
    • UPDATE_BROKER_CONFIG
      更新Broker配置。
    • DELETE_TOPIC_IN_BROKER
      删除主题。
    • UPDATE_AND_CREATE_SUBSCRIPTIONGROUP
      更新或创建订阅组信息。
    • DELETE_SUBSCRIPTIONGROUP
      删除订阅组信息。
    3.1.2.5 defaultTopicPerm

    默认topic权限。该值默认为DENY(拒绝)。

    3.1.2.6 defaultGroupPerm

    默认消费组权限,该值默认为DENY(拒绝),建议值为SUB。

    3.1.2.7 topicPerms

    设置topic的权限。其类型为数组,其可选择值在下节介绍。

    3.1.2.8 groupPerms

    设置消费组的权限。其类型为数组,其可选择值在下节介绍。可以为每一消费组配置不一样的权限。

    3.2 RocketMQ ACL权限可选值

    • DENY
      拒绝。
    • PUB
      拥有发送权限。
    • SUB
      拥有订阅权限。

    3.3、权限验证流程

    上面定义了全局白名单、用户级别的白名单,用户级别的权限,为了更好的配置ACL权限规则,下面给出权限匹配逻辑。
    在这里插入图片描述

    4、使用示例

    4.1 Broker端安装

    首先,需要在broker.conf文件中,增加参数aclEnable=true。并拷贝distribution/conf/plain_acl.yml文件到${ROCKETMQ_HOME}/conf目录。

    broker.conf的配置文件如下:

    brokerClusterName = DefaultCluster
    brokerName = broker-b
    brokerId = 0
    deleteWhen = 04
    fileReservedTime = 48
    brokerRole = ASYNC_MASTER
    flushDiskType = ASYNC_FLUSH
    listenPort=10915
    storePathRootDir=E:/SH2019/tmp/rocketmq_home/rocketmq4.5MB/store
    storePathCommitLog=E:/SH2019/tmp/rocketmq_home/rocketmq4.5MB/store/commitlog
    namesrvAddr=127.0.0.1:9876
    autoCreateTopicEnable=false
    aclEnable=true
    

    plain_acl.yml文件内容如下:

    globalWhiteRemoteAddresses:
    
    accounts:
    - accessKey: RocketMQ
      secretKey: 12345678
      whiteRemoteAddress:
      admin: false
      defaultTopicPerm: DENY
      defaultGroupPerm: SUB
      topicPerms:
      - TopicTest=PUB
      groupPerms:
      # the group should convert to retry topic
      - oms_consumer_group=DENY
    
    - accessKey: admin
      secretKey: 12345678
      whiteRemoteAddress:
      # if it is admin, it could access all resources
      admin: true
    

    从上面的配置可知,用户RocketMQ只能发送TopicTest的消息,其他topic无权限发送;拒绝oms_consumer_group消费组的消息消费,其他消费组默认可消费。

    4.2 消息发送端示例

    public class AclProducer {
        public static void main(String[] args) throws MQClientException, InterruptedException {
            DefaultMQProducer producer = new DefaultMQProducer("please_rename_unique_group_name", getAclRPCHook());
            producer.setNamesrvAddr("127.0.0.1:9876");
            producer.start();
            for (int i = 0; i < 1; i++) {
                try {
                    Message msg = new Message("TopicTest3" ,"TagA" , ("Hello RocketMQ " + i).getBytes(RemotingHelper.DEFAULT_CHARSET));
                    SendResult sendResult = producer.send(msg);
                    System.out.printf("%s%n", sendResult);
                } catch (Exception e) {
                    e.printStackTrace();
                    Thread.sleep(1000);
                }
            }
            producer.shutdown();
        }
    
        static RPCHook getAclRPCHook() {
            return new AclClientRPCHook(new SessionCredentials("rocketmq","12345678"));
        }
    }
    

    运行效果如图所示:
    在这里插入图片描述

    4.3 消息消费端示例

    public class AclConsumer {
    
        public static void main(String[] args) throws InterruptedException, MQClientException {
            DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("please_rename_unique_group_name_4", getAclRPCHook(),new AllocateMessageQueueAveragely());
            consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
            consumer.subscribe("TopicTest", "*");
            consumer.setNamesrvAddr("127.0.0.1:9876");
            consumer.registerMessageListener(new MessageListenerConcurrently() {
                @Override
                public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,
                    ConsumeConcurrentlyContext context) {
                    System.out.printf("%s Receive New Messages: %s %n", Thread.currentThread().getName(), msgs);
                    return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
                }
            });
            consumer.start();
            System.out.printf("Consumer Started.%n");
        }
    
        static RPCHook getAclRPCHook() {
            return new AclClientRPCHook(new SessionCredentials("rocketmq","12345678"));
        }
    }
    

    发现并不没有消费消息,符合预期。

    关于RocketMQ ACL的使用就介绍到这里了,下一篇将介绍RocketMQ ACL实现原理。


    见文如面,我是威哥,热衷于成体系剖析JAVA主流中间件,关注公众号『中间件兴趣圈』,回复专栏可获取成体系专栏导航,回复资料可以获取笔者的学习思维导图
    在这里插入图片描述

    展开全文
  • https://blog.csdn.net/prestigeding/article/details/94317946

    https://blog.csdn.net/prestigeding/article/details/94317946

    nameserver 也需要修改
    在配置文件目录添加账号和密码

    vi tool.yml
    
    accessKey: RocketMQ
    secretKey: 12345678
    
    

    部署console 需要2.0版本

    部署命令:
    java -Xms128m -Xmx256m -jar rocketmq-console-ng-2.0.0.jar --server.port=1234 --rocketmq.config.aclEnabled=true --rocketmq.config.accessKey=RocketMQ --rocketmq.config.secretKey=12345678 --rocketmq.config.namesrvAddr='127.0.0.1:10090

    展开全文
  • 在Zend_Acl當中有兩個重要的部份:Resource(資源) 與 Role(角色),其中「角色」存取「資源」,舉個白話的例子,在一個進出受管制的電梯大樓,小明可以進入101樓的辦公室,表示小明這個「角色」,他的 通行證可以刷卡...
  • acl使用FAQ

    2019-03-23 11:37:07
    1、acl 库是啥、主要包含哪些功能? acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式...
  • ACL:是什么?目的?使用场景?

    千次阅读 2020-01-30 11:26:57
    ACL简介 定义 访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。 ACL本质上是一种报文...
  • acl使用方法

    2018-07-17 12:27:52
    如何使用和配置acl,以及acl 创建原理和创建规则,acl使用方法
  • Java版 Kafka ACL使用实战
  • Kafka ACL使用实战

    千次阅读 2017-08-18 18:08:31
    本文给出一个可运行的实例来演示一下如何在不使用Kerberos的情况下配置SASL + ACL来构建secured Kafka集群。 在开始之前,我们简单学习下Kafka ACL的格式。根据官网的介绍,Kafka中一条ACL的格式如下: ...
  • 目录 ACL规则 规则说明 ACL资源规则 Agent规则 ...ACL规则 ...Consul提供可选的访问控制列表(ACL)系统,可用于控制对数据和API的访问。要了解有关Consul的ACL的更多信息,请查看ACL系统文...
  • ACL 1. 技术特性 ACL介绍: 访问控制列表(Access Control Lists,ACL)...主要使用的是编号ACL和命名ACL两种类别。 2. 编号ACL 编号ACL分为编号标准ACL和编号扩展ACL。 编号标准ACL: 特点——因为标准ACL是IP ACL
  • BEGIN dbms_network_acl_admin.create_acl( acl => '随便起的名字.xml', description => '注释', principal => '数据库名字', ...
  • ACL

    千次阅读 多人点赞 2019-09-26 17:06:56
    ACL是实现网络安全的基本技术之一。 ACL访问控制列表 功能: 1)限制网络流量、提高网络性能。例如,ACL可以根据数据包的协议,指定这种类型的数据包具有更高的优先级,同等情况下可预先被网络设备处理。 2)提供...
  • acl库安装与使用

    千次阅读 2019-05-29 16:39:19
    acl源码下载和编译: 1. 首先github中下载acl代码: git clone https://github.com/acl-dev/acl 2. 进入acl, 执行make cd acl make 注意(需要提前安装好的软件) (1) acl是由c/c++编写的,需要提前安装好gcc,...
  • 目录 ...一、ACL_PLUGIN实现访问控制 1.1.ACL_PLUGIN控制命令归纳 1.2.ACL_PLUGIN简单实验测试 二、CLASSIFY实现访问控制 2.1.CLASSIFY中ACL命令归纳 2.2.CLASSIFY简单实验测试 参考官方文档: ...
  • spring security3.0的ACL使用例子

    千次阅读 2010-11-22 15:24:00
    security的acl的默认使用的是用jdbc来对数据做持久化,因此这个例子也是在这个基础上来用的,在这个例子中使用的数据库是mysql。首先是定义spring security的acl的四个基本表的sql定义:CREATE TABLE `acl_sid` ( ...
  • ACL使用

    2019-02-14 16:10:54
    主要目的: 提供传统的owner、group、others 的 read、...ACL可以针对使用的控制权限: 用户(user):可以针对用户来设置权限 用户组(group):可以针对用户组来设置权限 默认属性(mask):在该目录下新建文件...
  • 访问控制列表(Access Control List,ACL) 是路由器和交换机接口的指令列表,用来控制端口进出的数据包。ACL适用于所有的被路由协议,如IP、IPX、AppleTalk等。 2.acl的作用 配置ACL后,可以限制网络流量,允许特定...
  • 访问控制列表--标准ACL

    万次阅读 多人点赞 2018-07-05 12:23:04
    访问控制列表(Access Control List,简称ACL)是根据报文字段对报文进行过滤的一种安全技术。访问控制列表通过过滤报文达到流量控制、攻击防范以及用户接入控制等功能,在现实中应用广泛。ACL根据功能的不同分为标准...
  • emqx使用mysql完成用户密码验证和ACL鉴权

    千次阅读 热门讨论 2019-05-06 23:02:13
    摘要:前几篇博客介绍的是使用配置文件配置了ACL和客户端用户名密码配置实现生产环境下的安全登录和权限控制,各项配置比较繁琐,修改起来比较麻烦,下面介绍使用mysql进行统一的管理控制。 环境说明: 1.linux...
  • zookeeper ACL使用

    千次阅读 2014-08-07 12:46:10
    zookeeper ACL使用  生产环境中,经常会有多个项目使用zookeeper,例如多个hbase集群。每个项目搭建一套独立的zookeeper,无论从机器成本,还是运维成本,都是一笔额外的开销。 然而多项目,多集群共用...
  • ①分类:标示流量进行特殊处理,通过过滤经过路由的...编号ACL使用编号进行标示命名ACL使用描述性名称或者编号进行标示命名的ACL用字母数字字符串(名称)标识IP标准ACL和扩展ACL命名访问控制列表可以单独删除某...
  • Spring Security(19)——对Acl的支持

    千次阅读 2017-06-17 10:32:37
    Acl的全称是Access Control List,俗称访问控制列表,是用以控制对象的访问权限的。其主要思想是将某个对象的某种权限授予给某个用户,或某种GrantedAuthority(可以简单的理解为某种角色),它们之间的关系都是多对...
  • EMQx 通过mysql实现 acl

    2021-01-26 14:13:19
    虽然EMQ已经搭建起来了,但是投入到业务使用中还面临着一些问题,当然MQTT设计之初也考虑了这一点,比如不是任何一个客户端都能链接到服务器和限制客户端能够对topic操作的权限。 ACL访问控制应用场景: 先说实际场景...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 96,899
精华内容 38,759
关键字:

acl使用