一个让rm -rf 都头大的命令

举报
互联网老辛 发表于 2021/06/08 23:17:36 2021/06/08
【摘要】 大家好,我是高胜寒,一个在教培行业不忘初心的人 作为运维,我们都有一个删根情节,不爽了随时删根跑路,但从未实施过。 运维经常用rm -rf / 来调侃自己,但事实上现在的安全机制下,rm -rf / 并不起作用,你看: [root@zmedu-17 ~]# rm -rf / rm: 在"/" 进行递归操作十分危险 rm: 使用 --no-preserve-root...

大家好,我是高胜寒,一个在教培行业不忘初心的人

作为运维,我们都有一个删根情节,不爽了随时删根跑路,但从未实施过。

运维经常用rm -rf / 来调侃自己,但事实上现在的安全机制下,rm -rf / 并不起作用,你看:

[root@zmedu-17 ~]# rm -rf /
rm: 在"/" 进行递归操作十分危险
rm: 使用 --no-preserve-root 选项跳过安全模式

  
 
  • 1
  • 2
  • 3

我们需要加上后面的 --no-preserve-root 跳过安全模式才能删除/
不过我们想删除/上的部分不在使用中的文件还是可以的比如 /*

[root@zmedu-17 ~]# rm -rf /*
rm: 无法删除"/boot/efi": 设备或资源忙
rm: 无法删除"/dev/hugepages": 设备或资源忙
rm: 无法删除"/dev/mqueue": 设备或资源忙
rm: 无法删除"/dev/pts/2": 不允许的操作
rm: 无法删除"/dev/pts/1": 不允许的操作
rm: 无法删除"/dev/pts/0": 不允许的操作
rm: 无法删除"/dev/pts/ptmx": 不允许的操作
rm: 无法删除"/dev/shm": 设备或资源忙


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

但如果是普通文件可就没有这么好运了,普通文件被删除了,在ext4文件系统上我们可以借助工具基于Inode号,把文件找回来,但是里面的空文件却无法在恢复。

虽然我们很小心,但依旧有删除文件的可能,这就像男人之于女人,带着作案工具,就总有做案的可能,除非变成公公。

今天我就给大家介绍一个命令,他的出现相当于给重要的文件在你备份的同时又加了一把锁,确保文件不会被误删除或者修改。

祭出命令: chattr: 锁定文件,锁定后,不能删除也不能修改

参数:

+a 只能给文件添加内容,但是删除不了

-d: 不能删除

+i : 加锁,文件不能删除,不能修改,也无法移动

查看加锁: lsattr

解锁 : -i 在这里的减号表示接触

我们来对/etc/passwd来使用

[root@zmedu-17 ~]# lsattr /etc/passwd #查看原始权限
---------------- /etc/passwd
[root@zmedu-17 ~]# chattr +i /etc/passwd   #加锁
[root@zmedu-17 ~]# lsattr /etc/passwd #查看加锁后权限
----i----------- /etc/passwd
[root@zmedu-17 ~]# rm -rf /etc/passwd #删除测试
rm: 无法删除"/etc/passwd": 不允许的操作
[root@zmedu-17 ~]# mv /etc/passwd /root/  #移动测试
mv: 无法将"/etc/passwd" 移动至"/root/passwd": 不允许的操作
[root@zmedu-17 ~]# echo aaa >> /etc/passwd  #修改文件内容测试
-bash: /etc/passwd: 权限不够 
  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

是不是成功的阻止了你误删除文件的操作。 当然你说按照下面的操作来做,然后说自己是误操作删除了文件,我也信:

[root@zmedu-17 ~]# lsattr /etc/passwd  #查看是否加锁
----i----------- /etc/passwd [root@zmedu-17 ~]# chattr  -i /etc/passwd  #去掉加锁权限
[root@zmedu-17 ~]# lsattr /etc/passwd   #查看是否已经去掉
---------------- /etc/passwd
[root@zmedu-17 ~]# rm -rf /etc/passwd  #特意误删除一下


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

只要想删掉,总会有办法的。还有没有方法更安全一点呢? 当然

我们可以隐藏掉chattr

[root@zmedu-17 ~]# which chattr   #查看命令目录
/usr/bin/chattr
[root@zmedu-17 ~]# mkdir /opt/yc  #创建yc目录
[root@zmedu-17 ~]# mv /usr/bin/chattr /opt/yc/ #把命令拷贝
[root@zmedu-17 ~]# cd /opt/yc/ #进入yc目录
[root@zmedu-17 yc]# mv chattr h   #使用别名把命令隐藏
[root@zmedu-17 ~]# /opt/yc/h +i /etc/passwd  #h就是chattr命令
[root@zmedu-17 ~]# lsattr /etc/passwd
----i----------- /etc/passwd

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

想要恢复的话,拷贝回去就可以了

[root@zmedu-17 yc]# mv h /usr/bin/chattr
[root@zmedu-17 yc]# chattr -i /etc/passwd

  
 
  • 1
  • 2

结语

如果您看完本文后有所收获, 还希望您随手点个收藏 、或者分享转发。您的支持是我坚持分享的最大动力!有问题也可以留言跟我交流。

配上视频更直观
点击直达:

B站视频-让rm -rf 都头疼的命令

文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。

原文链接:zmedu.blog.csdn.net/article/details/106526575

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。