下面顯示了tomcat在刪除owner是自己的文檔時出錯了,提示Permission denied.
這是因為用戶tomcat在該文檔的父目錄權限裡並沒有w的權限.雖然tomcat是該文檔的owner,但是刪除該文件也是對父目錄的修改,因此在用戶沒有父目錄的w權限裡,提示權限不足
drwxr-xr-x 2 root root 4096 Nov 21 21:02 tomcat drwxr-xr-x. 13 root root 4096 May 30 21:42 usr drwxr-xr-x. 19 root root 4096 Jul 15 02:29 var [root@wang ~]# touch /tomcat/xxx [root@wang ~]# chown tomcat:tomcat /tomcat/xxx [root@wang ~]# ll /tomcat/xxx -rw-r--r-- 1 tomcat tomcat 0 Nov 21 21:03 /tomcat/xxx [root@wang ~]# su - tomcat [tomcat@wang ~]$ rm -rf /tomcat/xxx rm: cannot remove `/tomcat/xxx': Permission denied [tomcat@wang ~]$
修改父目錄的權限,將w的權限給予用戶tomcat
[root@wang tomcat]# chmod 757 /tomcat
從下圖可見,用戶tomcat對於xxx文檔的父目錄/tomcat有w的權限,所以刪除成功了
drwxr-xrwx 2 root root 4096 Nov 21 21:03 tomcat drwxr-xr-x. 13 root root 4096 May 30 21:42 usr drwxr-xr-x. 19 root root 4096 Jul 15 02:29 var [root@wang tomcat]# su - tomcat [tomcat@wang ~]$ rm /tomcat/xxx [tomcat@wang ~]$ ll /tomcat/ total 0 [tomcat@wang ~]$
也可以直接把父目錄的owner轉給tomcat,最快的方法,這裡還用了遞歸,其實不用也可以
[root@wang tomcat]# chown -R tomcat:tomcat /tomcat