CentOS6系统因目录有隐含i权限属性致下属文件无法删除的故障一例

CentOS6服务器在升级openssh时因系统目录权限异常(有隐含i权限属性),下属文件无法删除,导致系统问题的故障一例。

一、问题现象

CentOS6在升级openssh时,提示如下问题:

warning: /etc/ssh/sshd_config created as /etc/ssh/sshd_config.rpmnewerror: unpacking of archive failed on file /usr/sbin/.sshd.hmac;666173a8: cpio: open

升级失败,系统出现故障。

 二、问题分析

根据报错信息排查,“ /usr/sbin/.sshd.hmac ”,这是和ssh加密算法有关文件。报错信息表明在解压归档文件时,对于文件 /usr/sbin/.sshd.hmac 在执行复制(cp)操作时失败了,并给出了一个校验和(666173a8)。

1、检查/usr/sbin/.sshd.hmac 文件权限

执行 ls -al /usr/sbin/.sshd.hmac 命令,结果如下:

文件权限为777,权限很低,应该可以删除或覆写。

2、尝试删除/usr/sbin/.sshd.hmac文件

执行rm -rf /usr/sbin/.sshd.hmac,结果如下:

报错“Permission denied”,文件无法删除,但上面已经看过文件是777权限,当前用户为root,理应可以删除。

3、从文件权限“-rwxrwxrwx.”来看,文件属性不太正常,正常的文件不会属性不会有这个点。继续排查:

执行lsattr /usr/sbin/.ssh.hmac,发现该文件有隐含权限e

lsattr相关属性说明
  • i 属性设置之后可使文件不能被删除、改名,设置连接也无法写入或添加数据,只有 root 用户才能设置。
  • a 属性设置之后,文件只能增加数据,既不能删除也不能修改数据,只有 root 用户才能设置。
  • A 设置A属性后,若你访问此文件或目录时,它的访问时间 atime 不会被修改,可避免I/O较慢的机器过度访问磁盘。这对速度较慢的计算机有帮助。
  • s 属性设置之后,如果文件被删除,将从硬盘彻底删除。
  • S 属性设置之后,文件将同步写入硬盘(一般为异步)。
  • u 属性设置之后,文件删除后数据内容还存在磁盘中,可以找回文件。
  • e  属性表示文件正在使用扩展数据块映射磁盘上的块。该属性不能用chattr清除。
  • I  属性来指示目录是使用散列树进行索引。尽管它可以通过lsattr来显示该属性,但不能用chattr来设置或清除。

如文件有 i 和 a 属性 ,则不可被删除,本文件属性为e,理应可被删除。

4、继续排查上级、上上级目录权限

可见/根目录权限属性正常; /usr目录有e属性,也还正常;/usr/sbin目录有i、I、e三个属性,其中i属性指向该目录不的隐藏属性是不可删除的,I、e属性对文档操作并无影响。经了解,发现这里比较让人意外的是,该i或a属性有传递性,当删除其下面的文件时, 不管该文件权限如何,系统也会提示文件不可删除, 权限不足。因此如果想要删除具有i隐藏属性的目录下的文件,需要去掉该属性。

三、解决办法

1、执行chattr -i /usr/sbin

2、再执行lsattr /usr/sbin -d,可以看到i属性已去除

3、现执行rm -rf /usr/sbin/.sshd.hmac,文件成功删除。

4、再执行openssh的升级指令,系统顺利升级成功。

四、问题总结

检查其它系统主机,发现/usr/sbin目录并没有被赋予隐藏权限:

[root@localhost ~]# lsattr /usr/sbin -d
---------------------- /usr/sbin

因该主机系统较老旧,也不知道是谁出于什么原因对/usr/sbin目录配置了i隐藏属性,通过此例,可以知道,如果root用户在删除文件时仍提示权限不足,可以排查文件本身及其上级目录是否被设置了隐藏权限,如有,则可以进行权限调整。

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

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

相关文章

springboot vue 开源 会员收银系统 (6) 收银台的搭建

前言 完整版演示 前面我们对会员系统 分类和商品的开发 完成了收银所需的基础信息 下面我们开始完成收银台的开发 简单画了一个收银的流程图大家参考下 从这张图我们可以分析一下几点 可以选择会员或散客收银选择会员使用相应的会员价结算使用会员卡则在价格基础根据卡折扣…

function和bind使用实践

文章目录 1.functional 接受全局函数2.functional 接受lambda表达式3.functional 接收静态成员函数4.functional 接收成员函数5.bind 绑定全局函数6.bind 绑定成员函数7.使用 placeholders占位 1.functional 接受全局函数 2.functional 接受lambda表达式 3.functional 接收静…

node.js漏洞——

一.什么是node.js 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。 Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度非常…

神经网络搭建(1)----nn.Sequential

神经网络模型构建 采用CIFAR10中的数据,并对其进行简单的分类。以下图为例 输入:3通道,3232 ( 经过一个55的卷积) → 变成32通道,3232的图像 (经过22的最大池化) → 变成32通道,1616的图像 ( 经过一个55的卷积) → 变…

Sass混合宏(Mixins)使用

Sass是一个强大的CSS预处理器,它允许你使用变量、嵌套规则、函数等特性,使得CSS开发更加高效和规范。在这篇教程中,我将为你详细介绍一个非常有用的Sass功能——混合宏(mixins)。 1. 基础:混合宏的定义和使用 混合宏是一个可以复…

linux虚拟机免密登录配置

1、假设A服务器要免密登录B服务器 2、在A服务器上执行命令: cd /root/.ssh/ ssh-keygen -t rsa #这里会生成两个文件 一个是id_rsa私钥和公钥rsa.pub2、我们把公钥的内容复制粘贴到B服务器的/root/.ssh/authorized_keys文件下 #在A服务器上执行命令记录内容 cat …

ArkTs-TaskPool和Worker的使用

TaskPool和Worker的区别 实现TaskPoolWorker内存模型线程间隔离,内存不共享。线程间隔离,内存不共享。参数传递机制 采用标准的结构化克隆算法(Structured Clone)进行序列化、反序列化,完成参数传递。 支持ArrayBuffe…

python调用excel的demo

在本地安装Pycharm之后,新建工程,在main.py中键入如下代码,即可实现Python调用excel: import pandas as pd sheet pd.read_excel(test.xlsx) data sheet.loc[0].values print("读取指定行的数据:\n{0}".format(data)) 第一次编…

IT学习笔记--Flink

概况: Flink 是 Apache 基金会旗下的一个开源大数据处理框架。目前,Flink 已经成为各大公司大数据实时处理的发力重点,特别是国内以阿里为代表的一众互联网大厂都在全力投入,为 Flink 社区贡献了大量源码。 Apache Flink 是一个…

Vscode发生鼠标悬停正在加载、无法跳转和提示词的问题

Vscode发生鼠标悬停正在加载、无法跳转和提示词的问题 查看python语言服务器的日志,确定问题。 我的问题是加载的vscode 目录下存在一个很大的数据集目录,导致无法正常工作。 解决办法: 在vscode的pylance设置中,排除对应的目…

深入理解 Spring 容器:原始 Bean 的生成过程

引言: Spring 框架的核心功能之一是它的 IoC(控制反转)容器,它负责创建、配置和组装 Bean。在 Spring 应用程序中,Bean 是对象实例,由 Spring 容器负责其生命周期和依赖关系。本文将深入探讨 Spring 容器中…

使用 PlayCanvas 创建带有后处理效果的 3D 场景

本文由ScriptEcho平台提供技术支持 项目地址:传送门 使用 PlayCanvas 创建带有后处理效果的 3D 场景 应用场景介绍 本代码演示了如何使用 PlayCanvas 创建一个带有后处理效果的 3D 场景。用户可以在场景中查看一个棋盘模型,并使用后处理效果为场景添…

达梦 执行查询语句时报[-544]:Out of sort buf space

达梦数据库有时执行SQL中有时报[-544]:Out of sort buf space, try to adjust SORT_BUF_GLOBAL_SIZE, SORT_BUF_SIZE, SORT_BLK_SIZE. 第一反应是这条语句占用排序区太大。但真实原因是前面执行的语句耗光了全局排序区,后面SQL任何小的排序操作都会报这个错误从而执…

freeRTOS中使用cJSON死机的问题

问题描述 在freeRTOS中使用cJSON来处理PC通过串口发送的信息,但是在串口接收处理任务中调用cJSON处理的函数后会出现死机的问题 // 处理PC的信息 void ProcessPCData(uint8_t* data, uint32_t len) {int functionCode 0;cJSON* json NULL;printf("Start Pr…

天润融通助力浪鲸卫浴,智能化革新引领客户服务新高度

头部家装品牌如何用优质服务抓住客户? 每年初春,万物复苏的同时,家装市场也正式进入旺季。 因为春天气温回升,潮气逐渐散去,开始进入最适合施工的季节,木材不易变形、油漆不易起皮,再加上春季…

算法金 | 再见!!!KNN

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 KNN算法的工作原理简单直观,易于理解和实现,这使得它在各种应用场景中备受青睐。 我们将深入探讨KNN算法&…

Easy 同学:AI 时代将加速计算机专业和程序员职业的分化

一、原贴 2024 年 6 月 5 日 拥有 60多万粉丝的方糖气球(ftqq.com)博主 、独立开发者:Easy 发表了一篇 AI 对计算机专业和程序员行业影响的新浪博客,看后很有启发,故而将原文摘录于此: 单独开个贴说一下吧…

文心一言 VS 讯飞星火 VS chatgpt (275)-- 算法导论20.3 2题

二、修改 vEB 树以支持带有卫星数据的关键字。如果要写代码,请用go语言。 文心一言: vEB 树(van Emde Boas 树)是一种用于处理稀疏位集合的高效数据结构,它允许在常数时间内执行查找、插入、删除和前驱/后继操作。然…

服务器硬件基础知识:从零开始了解你的数字工作马

在现代社会,服务器是我们数字世界的基石。无论是网站、云服务还是大数据处理,背后都有强大的服务器在默默工作。对于许多人来说,服务器的工作原理和组成可能显得神秘且复杂。今天,我们将通过一篇通俗易懂的文章,逐步揭…

6.更复杂的光照

一、Unity的渲染路径 渲染路径决定了光照是如何应用到Unity Shader中的。我们需要为每个Pass指定它使用的渲染路径 如何设置渲染路径? Edit>Project Settings>Player>Other Settinigs>Rendering 如何使用多个渲染路径?如:摄像…