当前位置: 首页 > 知识库问答 >
问题:

hdfs中的权限组(默认情况下)是如何工作的??为什么所有用户文件都属于超组?

吕衡
2023-03-14

我对hdfs中的权限组是如何工作的绝对感到困惑,至少在我的集群中是这样。假设我有unix用户kranach,它属于组bla。我有从CDH5设置的hadoop2集群,有一个unix组hadoop,用户hdfs、yarn和mapred belogns(但不是kranach,他与hadoop无关)。

现在,我在hdfs中的根目录具有如下权限

drwxr-xr-x-hdfs超群0 201 5-01-27 23:08/

所以,我假设既然我,克拉纳奇,不属于超级组,就不应该允许我在/下创建目录。但是,当我这样做时:kranach@czarnobog:~$hdfs dfs-Mkdir/bla kranach@czarnobog:~$hdfs dfs-ls/找到6个项目drwxr-xr-x-kranach supergroup 0 201 5-01-27 23:27/bla

所以我刚刚创建了目录,它属于我和组超级组。但我不是在超级组,不应该被允许在那里首先创建dirs!根据hadoop文档(http://hadoop.apache.org/docs/r1.2.1/hdfs_permissions_guide.html#configuration+parameters),默认情况下,hadoop只是检查linux用户“group”命令,而对于我的用户来说,这显然不显示超级组(它甚至不存在)。

谁能解释一下这种行为吗?并告诉如何防止它(即,我想在这个盒子上有用户,他们被允许访问hdfs,但不能在那里写任何东西)。

共有1个答案

顾昌翰
2023-03-14

好吧,长话短说,看来保安系统终究失效了。我只是不知道服务器端服务不使用/etc/hadoop/conf,但每个服务在/var/run/cloudera-scm-agent/process/_process-name/中都有自己的配置。这些也可以在CM UI中看到,例如cm->hdfs->instances->namenode->processes->hdfs-site.xml。

http://community.cloudera.com/t5/storage-random-access-hdfs/hdfs-default-permissioning-workes-weird-cdh5-1/m-p/24137#u24137

 类似资料:
  • 安装应用程序时,如何默认启用屏幕覆盖权限。 现在我面临一些问题,当捕获图像询问运行时权限时,一些设备不允许它打开屏幕覆盖设置对话框的权限。在用户看来,他们不知道为什么对话框显示以及他们做了什么。 当打开覆盖设置屏幕时,一些应用程序会自动启用屏幕覆盖权限。 下面我使用代码。 此代码直接打开覆盖设置屏幕。所有应用程序的显示列表。 我的要求是显示权限特定的应用程序或启用覆盖权限而无需用户交互。 做需要.

  • 我的存储库中的以下代码: 使用REST服务执行这个方法(updateClientInfoById)会给我一个例外:javax。坚持不懈TransactionRequiredException:执行更新/删除查询 我必须添加@Transactional才能让它正常工作。 为什么存储库中的方法在默认情况下不都是事务性的? 提前感谢:)

  • 当我打开它时,所有操作都显示为折叠,并且我希望它在默认情况下展开。 有什么我需要改变的属性来实现它吗? 这是我的霸气豆:

  • 为什么引用类型对象o无法访问变量a。它显示错误a无法解决或不是字段。

  • 此组件起作用: 如果我移除最后一行,就不起作用了。 我想,我不明白es6语法中的一些东西。它不是必须不带“default”符号导出吗?

  • Rust 的核心功能(之一)是 所有权(ownership)。虽然这个功能说明起来很直观,不过它对语言的其余部分有着更深层的含义。 所有程序都必须管理其运行时使用计算机内存的方式。一些语言中使用垃圾回收在程序运行过程中来时刻寻找不再被使用的内存;在另一些语言中,程序员必须亲自分配和释放内存。Rust 则选择了第三种方式:内存被一个所有权系统管理,它拥有一系列的规则使编译器在编译时进行检查。任何所有