报错:Permission denied. user=dr.who is not the owner of inode=/tmp

文章目录

  • 用户名问题
  • 权限问题
  • 修改权限的正确做法

用户名问题

首先是为什么用户名是 dr.who,我可以在 core-default.xml 文件中可以查到 hadoop.http.staticuser.user 参数默认为 dr.who ,其解释为在静态网络过滤器上渲染内容时要作为过滤器的用户名。例如 HDFS 网络用户界面(用于浏览文件的用户)。链接:hadoop.apache.org/docs/r3.3.1/hadoop-project-dist/hadoop-common/core-default.xml

也就是说 dr.who 是静态访问的用户名

namevaluedescription
hadoop.http.staticuser.userdr.whoThe user name to filter as, on static web filters while rendering content. An example use is the HDFS web UI (user to be used for browsing files).

可以修改 core-site.xml 配置文件设置自己的用户名

<property><name>hadoop.http.staticuser.user</name><value>user</value>
</property>

权限问题

我可以在 hdfs-default.xml 文件中可以查到 dfs.permissions.enabled 参数默认为 true,其解释为如果为 true,则启用 HDFS 中的权限检查。如果为 false,则关闭权限检查,但所有其他行为不变。从一个参数值切换到另一个参数值不会改变文件或目录的模式、所有者或组。链接:hadoop.apache.org/docs/r2.7.7/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

namevaluedescription
dfs.permissions.enabledtrueIf “true”, enable permission checking in HDFS. If “false”, permission checking is turned off, but all other behavior is unchanged. Switching from one parameter value to the other does not change the mode, owner or group of files or directories.

也就是说我们把权限检查关掉就可以了,即在 hdfs-core.xml 中配置 dfs.permissions.enabled 参数值为 false

<property><name>dfs.permissions</name><value>false</value>
</property>

请注意,关闭权限检查可能会导致严重的安全和隐私问题,因为它允许任何用户访问、读取、写入或删除文件系统中的数据。因此,在生产环境中,通常不建议这样做。只有在特定的测试场景或者有特殊需求的情况下才可能需要临时关闭权限检查。

还有一种我们会使用 hadoop fs -chmod 777 /path/to/directory 命令会将指定目录的权限设置为所有者、组和其他用户都有读(r)、写(w)和执行(x)权限。在 Unix/Linux 文件系统中,这种权限模式通常被认为是“完全开放”的,因为它允许任何人访问、修改或执行该目录及其内容。

然而,在生产环境中,除非有特定需求,否则不建议对 HDFS 中的文件和目录使用 777 权限,因为这可能会导致安全问题和数据完整性问题。这样做意味着任何人都可以读取、修改或删除文件,包括可能的恶意用户或程序。

修改权限的正确做法

正确做法应该是:

  1. 设置用户和组

    • 你需要先创建一个或多个用户和组,以便为它们分配权限。
  2. 查看当前权限

    • 使用 hadoop fs -ls /path/to/file-or-directory 命令可以查看某个文件或目录的详细信息,包括所有者、组和其他相关信息。
  3. 修改权限

    • 使用 hadoop fs -chmod [-R] permissions path 命令可以改变文件或目录的权限。例如:

      hadoop fs -chmod 755 /path/to/directory
      
      • -R 参数表示递归地更改子目录和文件的权限。
      • 权限参数由三个八进制数字组成,分别代表所有者、组和其他用户的权限。每一位分别代表读(4)、写(2)和执行(1)。所以 755 表示所有者有读、写和执行权限,组和其他用户只有读和执行权限。
  4. 修改所有者和组

    • 使用 hadoop fs -chown [-R] owner[:group] path 命令可以改变文件或目录的所有者和/或组。例如:

      hadoop fs -chown user:group /path/to/file-or-directory
      
      • 如果只提供了所有者名称而没有提供组名,那么该文件或目录的组将被设置为所有者的主组。
  5. 修改组

    • 使用 hadoop fs -chgrp [-R] group path 命令可以单独改变文件或目录的组。例如:hadoop fs -chgrp new_group /path/to/file-or-directory

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/205886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

log4j日志框架的使用

依赖 <dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version> </dependency> 配置项样列 log4j.rootLoggerDEBUG, stdout, logfilelog4j.appender.stdoutorg.apache.log4j.ConsoleA…

查看Linux的Ubuntu的版本

我的Ubuntu版本是 Jammy x86_64&#xff0c;即 Ubuntu 22.04.3 LTS&#xff0c;代号为"Jammy Jellyfish"&#xff0c;架构是 x86_64&#xff08;64位&#xff09;。

Java的List中的各种浅拷贝和深拷贝问题

先来看一组代码 public class Temp{public static void main(String[] args) {List<Integer> list new ArrayList<>();list.add(1);list.add(2);list.add(3);List<Integer> temp list;list.add(4);System.out.println(list.toString());System.out.print…

NLP自然语言处理学习笔记

参考&#xff1a;NLP&#xff08;自然语言处理&#xff09;介绍 - 知乎 (zhihu.com) 一、NLP是什么 自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自…

最新版本——Hadoop3.3.6单机版完全部署指南

大家好&#xff0c;我是独孤风&#xff0c;大数据流动的作者。 本文基于最新的 Hadoop 3.3.6 的版本编写&#xff0c;带大家通过单机版充分了解 Apache Hadoop 的使用。本文更强调实践&#xff0c;实践是大数据学习的重要环节&#xff0c;也能在实践中对该技术有更深的理解&…

105.长度最小的子数组(力扣)|滑动窗口

代码演示 class Solution { public:int minSubArrayLen(int target, vector<int>& nums) {int result INT_MAX; // 用于存储最小子数组的长度int sum 0; // 滑动窗口的长度int i 0; // 滑动窗口的起始位置int sumlength 0; // 当前子数…

SQL 中连接类型大全

前言&#xff08;Preface&#xff09; 结构化查询语言(SQL)是一种用于管理和分析存储在关系数据库中的数据的强大工具。SQL 中的一个基本概念是连接操作&#xff0c;它允许您基于匹配列组合两个或多个表的数据。掌握连接对于高效和准确的数据检索至关重要。 在本文中&#xff0…

行锁、间隙锁、临键锁的区别是什么?

在数据库领域&#xff0c;行锁、间隙锁&#xff08;Gap Lock&#xff09;、临键锁&#xff08;Next-Key Lock&#xff09;是与事务隔离级别和并发控制相关的概念。这些锁的区别主要涉及到在事务并发的情况下如何保证数据的一致性和避免不同事务之间的冲突。 1. 行锁&#xff0…

深度学习与逻辑回归模型的融合--TensorFlow多元分类的高级应用

手写数字识别 文章目录 手写数字识别1、线性回归VS逻辑回归Sigmoid函数 2、逻辑回归的基本模型-神经网络模型3、多元分类基本模型4、TensorFlow实战解决手写数字识别问题准备数据集数据集划分 特征数据归一化归一化方法归一化场景 标签数据独热编码One-Hot编码构建模型损失函数…

探索人工智能领域——每日20个名词详解【day11】

目录 前言 正文 总结 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo__✍️原创&#xff0c;首发于CSDN&#x1f4da;。 &#x1f4e3;如需转载&#xff0c;请事先与我联系以…

uni-app 微信小程序之好看的ui登录页面(四)

文章目录 1. 页面效果2. 页面样式代码 更多登录ui页面 uni-app 微信小程序之好看的ui登录页面&#xff08;一&#xff09; uni-app 微信小程序之好看的ui登录页面&#xff08;二&#xff09; uni-app 微信小程序之好看的ui登录页面&#xff08;三&#xff09; uni-app 微信小程…

Android通信安全之HTTPS

Android通信安全之HTTPS 目录 Android通信安全之HTTPS Https 起因 问题描述 自定义X509TrustManager 自定义HostnameVerifier 修复方案 解决方案一 解决方案2 本文章向大家介绍Android通信安全之HTTPS&#xff0c;主要内容包括Https、起因、问题描述、自定义Hostname…

Android--Jetpack--LiveData源码分析

时人不识凌云木&#xff0c;直待凌云始道高 一&#xff0c;基本使用 基本使用请看文章Android--Jetpack--LiveData-CSDN博客 二&#xff0c;MutableLiveData 首先说一下我们为什么要用MutableLiveData呢&#xff0c;来看看LiveData的源码&#xff1a; public abstract class…

[足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-7欧拉公式的证明

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-数学基础Ch0-7欧拉公式的证明 e i θ cos ⁡ θ sin ⁡ θ i , i − 1 e^{i\theta}\cos \theta \sin \theta i,i\sqrt{-1} eiθcosθsinθi,i−1 ​ 证明&#xff1a; f ( θ ) e i θ cos …

论文阅读:LSeg: LANGUAGE-DRIVEN SEMANTIC SEGMENTATION

可以直接bryanyzhu的讲解&#xff1a;CLIP 改进工作串讲&#xff08;上&#xff09;【论文精读42】_哔哩哔哩_bilibili 这里是详细的翻译工作 原文链接 https://arxiv.org/pdf/2201.03546.pdf ICLR 2022 0、ABSTRACT 我们提出了一种新的语言驱动的语义图像分割模型LSeg。…

【webpack】应用篇

基础应用 代码分离常用的代码分离方法方法一&#xff1a;配置入口节点方法二&#xff1a;防止重复方法三&#xff1a;动态导入 缓存原因解决思路 缓存第三方库原因解决思路 将所有js文件单独存放文件夹拆分开发环境和生产环境配置公共路径环境变量和区分环境代码压缩 拆分配置文…

【Python】np.save()和np.load()函数详解和示例

本文通过函数原理和运行示例&#xff0c;对np.save()和np.load()函数进行详解&#xff0c;以帮助大家理解和使用。 更多Numpy函数详解和示例&#xff0c;可参考 【Python】Numpy库近50个常用函数详解和示例&#xff0c;可作为工具手册使用 目录 np.save &#xff08;&#xff…

云架构的思考3--云上开发

目录 1 DevOps--简单灵活性高2 服务化&#xff08;微服务&#xff09;--弹性&#xff08;可扩展&#xff09;、按需自主服务3 无状态&#xff08;Serverless&#xff09;--弹性&#xff08;可扩展&#xff09;4 日志--安全5 配置中心--安全6 设计模式6.1 使用“适配器模式”调用…

Go--协程

协程 协程是Go语言最大的特色之一。 1、协程的概念 协程并不是Go发明的概念&#xff0c;支持协程的变成语言有很多。Go在语言层面直接提供对协程的支持称为goroutine。 1.1 基本概念 进程 进程是应用程序启动的实例&#xff0c;每个进程都有独立的内存空间&#xff0c;不同…

nodejs微信小程序+python+PHP的智能停车系统-计算机毕业设计推荐django

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…