hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18323) Remove multiple ACLs for the same user in kerberos
Date Mon, 10 Jul 2017 16:09:00 GMT

    [ https://issues.apache.org/jira/browse/HBASE-18323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16080566#comment-16080566
] 

Josh Elser commented on HBASE-18323:
------------------------------------

bq.  sorry , i don't know what's your meaning in above ,how to avoid setting ?

https://github.com/apache/hbase/blob/d137991ccc876988ae8832c316457e525f6bf387/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java#L916-L918

I am suggesting that you modify the above block to only execute when `user` is not the `creator`
(the work would be figuring out creator as that is not computed with the information you have
in that method). As I understand your explanation, doing this is equivalent to removing CREATOR_ALL_ACL.

> Remove multiple ACLs for the same user in kerberos
> --------------------------------------------------
>
>                 Key: HBASE-18323
>                 URL: https://issues.apache.org/jira/browse/HBASE-18323
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 1.2.0, 3.0.0
>            Reporter: Shibin Zhang
>            Priority: Minor
>         Attachments: HBASE-18323.patch, HBASE-18323-V2.patch, HBASE-18323-V3.patch
>
>
> When deploy hbase in kerberos way ,there will be multiple acls in znode :
> 'world,'anyone
> : r
> 'sasl,'hbase
> : cdrwa
> 'sasl,'hbase
> : cdrwa
> I also see the related issue and apply the patch, like  https://issues.apache.org/jira/browse/HBASE-17717

> but in my environment ,this situation still appear,
> After dig into the code , i found the reason in source code  ZKUtil.createAcl  is
>  if (zkw.isClientReadable(node)) {
>         LOG.error("isSecureZooKeeper user: clientReadable");
>         acls.addAll(Ids.CREATOR_ALL_ACL);
>         acls.addAll(Ids.READ_ACL_UNSAFE);
>       } else {
>         LOG.error("isSecureZooKeeper user: clientReadable no");
>         acls.addAll(Ids.CREATOR_ALL_ACL);
>       } 
>   acls.addAll(Ids.CREATOR_ALL_ACL);   
>   
>   Id AUTH_IDS = new Id("auth", "");
> ArrayList<ACL> CREATOR_ALL_ACL = new ArrayList(Collections.singletonList(new ACL(31,
AUTH_IDS)));
> AUTH_IDS   with  "auth " will result  current connection auth user  add to znode acl
,
> so it will appear multiple acls for same users.
> I think this line of code  we can remove  :  acls.addAll(Ids.CREATOR_ALL_ACL);   



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message