可以发现当前文件有个i属性,查阅命令帮助文档可以看到有i属性的文件是不能修改的,更不可被删除,即使是root用户也不可。
2、既然知道了文件不能 *** 作的原因是加了i属性,所以相应的解决方案就是把文件的i属性去除,然后对此文件内容进行修改,最好在 *** 作完成后恢复文件的i属性。
去除i属性:chattr -i /etc/sysctl.conf
添加i属性:chattr +i /etc/sysctl.conf
扩展资料
chattr命令用于修改文件属性,chattr命令需要root权限。
文件属性:
a: append only系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
c: compressed系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后才写入磁盘。
d: no dump在进行文件系统备份时,dump程序将忽略这个文件。
i: immutable系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
这个和 *** 作系统没有直接联系 和语言编译器有关.C/C++编译器在Linux通常gcc/g++ 在编译的时候自动会给用“”的字符串加‘\0’
字符串截断符和语言有关.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)