kerberos 用户映射
kerberos 用户到本地用户的配置是 core-site.xml
中的 hadoop.security.auth_to_local。例子:
hadoop.security.auth_to_local
RULE:[1:$1@$0](.*@YOUR.REALM)s/@.*//
RULE:[2:$1@$0](hdfs@.*YOUR.REALM)s/.*/hdfs/
DEFAULT
DEFAULT
是默认值,表示把主体的第一部分直接映射为 UNIX 用户。
RULE有三部分组成:基础、过滤和替换。
基础
基础部分由数字和模板组成。数字 (1或2) 表示主体由几部分组成 (不包括领域)。模板定义了主体各部分的转换规则:$0
表示领域,$1
表示主体的第1部分,$2
表示主体的第2部分。
[1:$1@$0] 将 "username@APACHE.ORG” 转换为 "username@APACHE.ORG”
[2:$1] 将 "username/admin@APACHE.ORG” 转换为 "username”
[2:$1%$2] 将 "username/admin@APACHE.ORG” 转换为 "username%admin”
过滤
过滤是括号中的正则表达式,必须是要应用规则的生成字符串。
"(.*%admin)” 将匹配以"%admin”结尾的字符串
"(.*@SOME.DOMAIN)” 将匹配以"@SOME.DOMAIN”结尾的字符串
替换
最后,替换是将正则表达式转换为固定字符串的 sed 规则。
"s/@ACME.COM//” 表示将"@ACME.COM”删除(替换为空串)。
"s/@[A-Z]*.COM//” 表示删除以"@”开始紧跟一个大写字符串,并以".COM”结尾的字符串。
"s/X/Y/g” 将所有的 "X”替换为"Y”
sed 常见命令由字符 s
和三个斜杠(/
)组成,表示将前两个斜杠之间的内容替换为后两个斜杠之间的内容。/g
表示替换到行尾,如果仅是/
表示替换一次。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论