사용자 이름이 www-data인 빈 디렉터리를 삭제할 수 없는 이유는 무엇입니까? [복사]

사용자 이름이 www-data인 빈 디렉터리를 삭제할 수 없는 이유는 무엇입니까? [복사]

Test는 내용이 없는 빈 디렉터리입니다.

root@localhost:~# ls -l  /home
drwxrwxrwx  2 www-data www-data    4096 Apr 26 17:50 test

root@localhost:~# ls  -l  /home/test
total 0

이제 사용자 이름을 루트에서 www-data로 변경합니다.

root@localhost:~# su  www-data
$ rm  -rf  /home/test
rm: cannot remove `/home/test': Permission denied
$ 

testwww-data에 속한 빈 디렉터리를 삭제할 수 없는 이유는 무엇입니까 ? 루트로 로그인하면 삭제할 수 있습니다.

root@localhost:~# rm  -rf  /home/test

root@localhost:~# ls -lZ /home/test
total 0
root@localhost:~# getfacl /home/test/
getfacl: Removing leading '/' from absolute path names
# file: home/test/
# owner: www-data
# group: www-data
user::rwx
group::rwx
other::rwx

root@localhost:~# ls -al  /home
total 8352
drwxr-xr-x 10 root     root        4096 Apr 26 17:50 .
drwxr-xr-x 22 root     root        4096 Mar 20 16:32 ..
drwxrwxrwx  2 www-data www-data    4096 Apr 26 17:50 test
root@localhost:~# ls -al  /home/test
total 8
drwxrwxrwx  2 www-data www-data 4096 Apr 26 17:50 .
drwxr-xr-x 10 root     root     4096 Apr 26 17:50 ..
root@localhost:~#

답변1

상위 디렉토리에서 항목을 삭제하려면 상위 디렉토리에 쓰기 권한이 필요합니다. 귀하의 경우 이는 /home이며 루트만이 쓰기 액세스 권한을 가지므로 루트만이 항목을 삭제할 수 있습니다.

관련 정보