近段时间公司的一台服务器被恶意添加了一些定时器任务到crond的配置文件"/var/spool/cron/root"里,本想着只要简单使用crontab -e命令把该恶意的任务去除掉就可以了,但修改后发现无论我怎么努力也保存不了,直接修改文件“/var/spool/cron/root”也不行,我苦思是什么力量让这个拥有至高无上权力的root用户都无法对该文件进行更改和删除。后来经一资深Linux的朋友点拔一下才知道,文件除了有读写执行权限控制外还有更底层的文件属性,这里汲及到的两个查看和更改文件属性的命令是lsattr和chattr。
使用 lsattr /var/spool/cron/root 一看才知道该文件被添加了sia属性:s---ia------- /var/spool/cron/root,然后使用:chattr -isa /var/spool/cron/root 把这三个属性去除,即可对该文件进行修改了,成功地把该恶意任务去除。
原因:带有i属性的文件是不能修改的。
1、首先执行chmod 777 /etc/sysctl.conf时会报出错误:chmod: changing permissions of '/etc/sysctl.conf': Operation not permitted。
2、然后执行命令lsattr /etc/sysctl.conff便可以看到当前文件的属性;
3、可以发现当前文件有个i属性,查阅命令帮助文档可以看到有i属性的文件是不能修改的,更不可被删除,即使是root用户也不可。
4、所以相应的解决方案就是把文件的i属性去除,去除i属性:chattr -i /etc/sysctl.conf。
5、然后就可以对此文件内容进行修改。
6、最好在 *** 作完成后恢复文件的i属性,添加i属性:chattr +i /etc/sysctl.conf。
7、然后就完成了。
八进制数:645。文件的属性是:所有者有读写权限,组有读取权限,其他人有读取和执行权限。
其中r:读权限,w:写权限,x:执行。属于:U:所有者,G:属群,O:其他。Rw-r-r-x 9位,分为三段,每段三位,后面是R、W、X权限,三段分别是所有者、组、其他三类权限。
数字也可以表示权限,R用4表示,W用2表示,X用1表示,rwx用二进制表示,如果你有权限,用1代替0。具体来说,只要对应的位有权限,二进制为1,那么这三位组合起来,然后数字就可以计算出二进制到十进制的权限。
扩展信息:
权限规定:
X(X权限的特殊形式)的功能,为目录增加X权限。
2.对于文件:没有执行的文件不会增加X权限。任何三种有执行权限的人也会增加X权限。
3.目录权限的含义:
只读:只能查看目录文件列表,不能访问文件,不能cd目录(查看,删除)。仅执行:可以通过cd访问目录中的文件,而不是ls。执行是基本权限。写权限:只有X权限才有效。新目录:777-umask值是新目录的默认权限;管理员的umask是022;普通用户的umask是002。
来源:搜狗百科-文件系统权限
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)