fun*_*unk 2 linux filesystems ext4 tomcat ubuntu
正如您在下面看到的,root用户不能删除myapp目录,但可以写入和删除该目录中的文件。文件系统是ext4。这是文件系统问题吗?你有什么想法吗?
root@vm4923:/opt/tomcat/webapps# ls -l | grep myapp
drwxr-xr-x 2 root root 4096 Feb 17 14:30 myapp
-rw-r--r-- 1 root root 17544487 Dec 18 12:59 myapp.war
root@vm4923:/opt/tomcat/webapps# rm -rf myapp
rm: cannot remove 'myapp': Permission denied
root@vm4923:/opt/tomcat/webapps# sudo rm -rf myapp
rm: cannot remove 'myapp': Permission denied
root@vm4923:/opt/tomcat/webapps# ls -l myapp/
total 0
root@vm4923:/opt/tomcat/webapps# echo "jsdkfjslkdj" > myapp/testfile
root@vm4923:/opt/tomcat/webapps# ls -l myapp/
total 4
-rw-r--r-- 1 root root 12 Feb 17 14:38 testfile
root@vm4923:/opt/tomcat/webapps# ls -lh | grep myapp
drwxr-xr-x 2 root root 4.0K Feb 17 14:38 myapp
-rw-r--r-- 1 root root 17M Dec 18 12:59 myapp.war
root@vm4923:/opt/tomcat/webapps# ls -l myapp/
total 4
-rw-r--r-- 1 root root 12 Feb 17 14:38 testfile
root@vm4923:/opt/tomcat/webapps# rm -rf myapp
rm: cannot remove 'myapp': Permission denied
root@vm4923:/opt/tomcat/webapps# ls -l myapp/
total 0
root@vm4923:/opt/tomcat/webapps# ls -lh | grep myapp
drwxr-xr-x 2 root root 4.0K Feb 17 14:39 myapp
-rw-r--r-- 1 root root 17M Dec 18 12:59 myapp.war
root@vm4923:/opt/tomcat/webapps#
Run Code Online (Sandbox Code Playgroud)
@Fiximan
# ls -l | grep webapps
drwxrwxrwx 9 root root 4096 Jan 27 21:41 webapps
Run Code Online (Sandbox Code Playgroud)
发出# chattr -i examp命令后@jcbermu lsattr 的输出:
# lsattr
-------------e-- ./myapp
-------------e-- ./host-manager
-------------e-- ./myapp.war
-------------e-- ./examples
-------------e-- ./docs
-------------e-- ./examp
-------------e-- ./examp.war
-------------e-- ./ROOT
-------------e-- ./manager
Run Code Online (Sandbox Code Playgroud)
解决方案(编辑)
最后,问题的根本原因在于父目录的 ext4 属性(而不是权限)。
root@vm4923:/opt/tomcat# lsattr | grep webapps
----i--------e-- ./webapps
Run Code Online (Sandbox Code Playgroud)
通过i从webapps目录中删除属性,我可以myapp使用rm -rf命令删除目录。
root@vm4923:/opt/tomcat# chattr -i webapps
root@vm4923:/opt/tomcat# lsattr | grep webapps
-------------e-- ./webapps
root@vm4923:/opt/tomcat# cd webapps/
root@vm4923:/opt/tomcat/webapps# ls
ROOT docs examp examp.war examples host-manager manager myapp myapp.war
root@vm4923:/opt/tomcat/webapps# ls myapp
testdir
root@vm4923:/opt/tomcat/webapps# rm -rf myapp
root@vm4923:/opt/tomcat/webapps# ls
ROOT docs examp examp.war examples host-manager manager myapp.war
Run Code Online (Sandbox Code Playgroud)
谢谢你们的努力!
检查父目录webapps是否具有设置的i或a属性
lsattr | grep webapps
Run Code Online (Sandbox Code Playgroud)
然后,通过删除它们
chattr -i -a webapps
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1604 次 |
| 最近记录: |