标签:文件 sysctl 用户 etc Linux Operation root 属性
在Linux系统中,拥有最高权限的用户root,在执行文件权限的修改,或者修改文件时也会出现如下错误:
1.
chmod: changing permissions of 'xxx': Operation not permitted;
2.
E45: 'readonly' option is set (add ! to override)
接下来本文主要介绍如何解决root用户无权限修改文件的问题。
一、问题背景
-
Linux环境下,在安装Oracle数据库时需要修改内核参数,这时就需要改动系统文件/etc/sysctl.conf,切换到root用户修改此文件,进行保存时报了如下错误:
E45: 'readonly' option is set (add ! to override)
-
执行chmod 777 /etc/sysctl.conf时会报出错误:
chmod: changing permissions of '/etc/sysctl.conf': Operation not permitted
-
一般我们都知道,Linux下root用户的权限是最大了,难道还有root用户操作不了的文件?
(Linux下UID数值越小的用户,权限越大,可以看到最小值为0,即root用户)
END
二、问题修复
-
上面我们执行的chmod命令,其底层实现是chattr命令,用此命的功能更为强大,甚至可以锁定文件,即使root用户也操作不了此文件。
-
chattr是用来更改文件属性,lsattr可用来查看文件的属性,执行命令lsattr /etc/sysctl.conff便可以看到当前文件的属性;
可以发现当前文件有个i属性,查阅命令帮助文档可以看到有i属性的文件是不能修改的,更不可被删除,即使是root用户也不可。
-
既然知道了文件不能操作的原因是加了i属性,所以相应的解决方案就是把文件的i属性去除,然后对此文件内容进行修改,最好在操作完成后恢复文件的i属性。
去除i属性:chattr -i /etc/sysctl.conf
添加i属性:chattr +i /etc/sysctl.conf
-
转自:https://jingyan.baidu.com/article/fcb5aff7786e1eedab4a7142.html 百度经验
标签:文件,sysctl,用户,etc,Linux,Operation,root,属性 来源: https://blog.csdn.net/HMM316/article/details/111996098
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。