文章插图
在Linux系统中,root用户拥有最高权限,能够修改删除所有文件或者目录 。既然root用户能删除目录或者文件,接下来我们就来看一下如何做到让所有用户(包括root用户)不能够删除目录或者文件 。这是如何做到的呢?能够让所有用户都不能删除目录或者文件,那么我们就来看看chattr这个命令的作用吧 。这个命令能够改变文件的属性,能够让文件不能删除 。既然如此强大,那么就来看看如何做到的吧 。为了能够更好地看到效果,首先在Linux环境中准备了以下文件能够更好地学习如何操作 。
[rootlocalhost sharplee]# ls -l
total 40
drwxr-xr-x. 2 root root 77 Mar 7 09:00 backdir
-rw-r--r--. 1 root root 15606 Feb 26 10:12 jetty.sh
-rw-r--r--. 1 root root 0 Mar 2 09:06 myfile1
-rw-r--r--. 1 root root 0 Dec 10 2022 myfile2
-rw-r--r--. 1 root root 0 Dec 10 2022 myfile3
-rw-r--r--. 1 root root 0 Mar 2 09:35 myfile4
-rw-r--r--. 1 root root 0 Dec 10 2022 myfile6
-rw-r--r--. 1 root root 8 Mar 3 08:21 test
-rw-r--r--. 1 root root 28 Mar 6 08:52 test1.sh
-rw-r--r--. 1 root root 29 Mar 6 08:53 test2.sh
-rw-r--r--. 1 root root 11 Mar 6 08:53 test3.sh
如何让文件不能删除
通过执行以下命令让jetty.sh文件不能被删除或者不能被修改,这个命令的作用就是文件不能被修改通过任何方式,不能被删除,也不能够对这个文件创建链接,并且也不能重写该文件 。但是有一个前提是你必须拥有超级管理员的权限进行该操作或者取消该操作 。
[rootlocalhost sharplee]# sudo chattr +i jetty.sh
OR
[rootlocalhost sharplee]# sudo chattr +i -V jetty.sh
文章插图
通过以下命令来一个文件的属性 。
[rootlocalhost sharplee]# lsattr jetty.sh
文章插图
接下来通过任何用户进行文件删除,看看文件是否能够被删除 。这个时候为了能够更好地看到效果我们把当前用户切换到普通用户上 。
[sharpleelocalhost ~]$ rm jetty.sh
[sharpleelocalhost ~]$ sudo rm jetty.sh
文章插图
接下来我们来看一下修改能不能行 。
文章插图
通过上面可以看出来,不能对该文件进行修改 。接下来来看一看如何恢复成可删除的呢?
[sharpleelocalhost ~]$ sudo chattr -i jetty.sh
文章插图
如何让目录不能删除
使用-R参数,可以递归改变目录的属性以及目录下文件的属性 。
[sharpleelocalhost ~]$ sudo chattr +i -RV backdir/
文章插图
目录以及目录以下的文件都被设置为不能删除的了 。
文章插图
这个时候对目录添加了不能删除的属性,目录下的文件也都不能删除了,接下来如何恢复为可以删除的呢?
[sharpleelocalhost ~]$ sudo chattr -i -RV backdir/
文章插图
【linux无法删除是一个目录 linux如何删除目录下的文件】从上图中可以看出,执行完命令之后,即可删除相应的文件hello.txt或者/backdir目录了 。
- linux删除软连接命令 linux创建软连接命令
- iphone连接wifi显示无法加入网络解决方法 苹果无法加入无线网络是怎么回事
- linux文件及目录常用管理命令 目录存放着Linux的源代码
- 无法打开网页是怎么回事,手机无法打开网页如何解决
- 微信怎么批量删除好友 微信怎么一键删除多人
- 微信已删除的好友怎么找回,微信怎么查看历史删除的好友
- 网站无法访问怎么解决,网站打不开网址的解决方法
- word怎么删除表格不删除文字 word怎么删除表格
- 火绒安全软件 安全服务模块 火绒安全显示安全服务异常,无法保障计算机安全
- iOS16Beta可以删除哪些自带软件 iOS16Beta支持删除预装应用程序吗