hdfs组权限问题,与kerberos+ad集成的群集

x759pob2  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(310)

cdh集群与kerberos+ad集成。 user_A 已添加到组 groupX 以及
AD_GROUP_X user_B 已添加到组 groupX 以及 AD_GROUP_X hdfs中有两个具有不同组权限的文件: /user/file_a 所有者: user_A ,组: groupA 权限:
u=rwx, g=rwx, o=--- /user/file_b 所有者: user_B ,组: AD_GROUP_X 权限: u=rwx, g=rwx, o=--- 情景1: user_A wants to access file /user/file_b ==> Success 场景2: user_B wants to access file /user/file_a ==> failed 应为 success 一旦ad与集群集成,hdfs就只能读取ad组,或者可以同时读取ad组和unix组。

sxissh06

sxissh061#

可以配置和组合多个现有的Map提供程序,而不需要所有用户都在同一个位置。i、 广告用户可以使用 LdapGroupMapping 组的提供程序。unix用户可以使用默认提供程序 ShellBasedUnixGroupsMapping 用于unix组Map。
可以如下所示进行配置。

<property>
    <name>hadoop.security.group.mapping</name>
    <value>org.apache.hadoop.security.CompositeGroupsMapping</value>
</property>

<property>
    <name>hadoop.security.group.mapping.providers</name>
    <value>unix,ad01,ad02</value>
</property>

<property>
    <name>hadoop.security.group.mapping.providers.combined</name>
    <value>true</value>
    <description>true or false to indicate whether groups from the providers are combined or not. If true, all the providers are tried and the final result is all the groups where the user exists. If false, the first group in which the user was found is returned. Default value is true.
    </description>
</property>

<property>
    <name>hadoop.security.group.mapping.provider.unix</name>
    <value>org.apache.hadoop.security.ShellBasedUnixGroupsMapping</value>
</property>

<property>
    <name>hadoop.security.group.mapping.provider.ad01</name>
    <value>org.apache.hadoop.security.LdapGroupsMapping</value>
</property>
<property>
    <name>hadoop.security.group.mapping.provider.ad02</name>
    <value>org.apache.hadoop.security.LdapGroupsMapping</value>
</property>

<property>
    <name>hadoop.security.group.mapping.provider.ad01.ldap.url</name>
    <value>ldap://</value>
</property>
<property>
    <name>hadoop.security.group.mapping.provider.ad02.ldap.url</name>
    <value>ldap://</value>
</property>

<property>
    <name>hadoop.security.group.mapping.provider.ad01.ldap.bind.user</name>
    <value></value>
</property>
<property>
    <name>hadoop.security.group.mapping.provider.ad02.ldap.bind.user</name>
    <value></value>
</property>

<property>
    <name>hadoop.security.group.mapping.provider.ad01.ldap.base</name>
    <value></value>
</property>
<property>
    <name>hadoop.security.group.mapping.provider.ad02.ldap.base</name>
    <value></value>
</property>

支持多个组提供商-jira

相关问题