Bootstrap

root用户操作文件提示 changing permissions of ‘***‘: Operation not permitted

原创 Linux操作系统 作者:dba_sam 时间:2021-08-03 10:06:10  5275  0

一、问题描述

在linux系统中,root用户的权限是最大的,只要是修改涉及到系统本身的重大权限的操作,都需要root的权限才能操作。但是有时候root他会遇到干不了的事。

比如如下:

遇到 chmod: changing permissions of ‘.user.ini’: Operation not permitted

二、问题背景

root用户修改用户权限或删除文件遇到Operation not permitted的问题。

一般,Linux下root用户的权限是最大 (Linux下UID数值越小的用户,权限越大,可以看到最小值为0,即root用户)

root:x:0:0:root:/root:/bin/bash

但是在使用chmod改变文件权限的时候,即使在root用户下,也会遇到operation not permitted的问题。

其实chmod的底层实现是 chattr命令,此命令的功能更为强大,甚至可以锁定文件,即使root用户也操作不了此文件。

三、解决方案

lsattr可用来查看文件的属性:

lsattr filename

如果文件属性中有i与a,或者有其中的一个,可以使用 chattr去掉这属性:

chattr -ia filename

上图中,多了一个i属性

这里可以使用

chattr -i .user.ini

修改文件属性后,就可以使用chmod命令修改文件的权限或删除文件。

该方法对于文件目录同样适用,但是文件目录使用lsattr命令查看属性的时候并没有反应,但是使用chattr命令去掉ia属性之后,能够成功使用chmod更改权限。

如果想要恢复ia属性,使用:

chattr +ia filename

;