뭐 정상적으로 사용한다면 이런 일은 없겠지만 워낙 궁금증이 많은 사람들은 서버에 접속하여 이것저것 만지게 된다.
물론 만지기 전에 백업할 요량으로 폴더를 이름바꿔 저장하지만 나중에 필요없어 지우려고 rm -rf directory-to-remove 란 명령을 내려도 일부 파일이 지워지지 않는 경우가 있다.
확인해 보면 아래처럼 소유자가 nobody이고 nobody 외의 사용자는 삭제할 권한이 없다.
-rw-r–r– 1 nobody nobody 26830 Apr 7 18:29 1025791405.jpg
-rw-r–r– 1 nobody nobody 68643 Apr 7 18:29 1027363069.jpg
-rw-r–r– 1 nobody nobody 242575 Apr 7 18:29 1030077458.jpg
-rw-r–r– 1 nobody nobody 52106 Apr 7 18:29 1035570993.jpg
-rw-r–r– 1 nobody nobody 10395 Apr 7 18:29 1037849719.jpg
-rw-r–r– 1 nobody nobody 35717 Apr 7 18:29 1038011668.jpg
-rw-r–r– 1 nobody nobody 69395 Apr 7 18:29 1040833952.jpg
-rw-r–r– 1 nobody nobody 46441 Apr 7 18:29 1040970684.jpg
-rw-r–r– 1 nobody nobody 61289 Apr 7 18:29 1042918851.jpg
chmod -R 777 * 이란 명령어도 먹히지 않는다.
그럼 어떻게 지워야 하나?
상위 폴더에 아래와 같은 소스로 hoho.php 란 파일을 만든다.
<?
$cmd = `rm -rf nobody-directory`;
echo “$cmd”;
echo “Directory is removed.”;
?>
브라우져를 연 후 http://my-url/hoho.php 를 실행한다.
아마도 게시판이나 포스트를 nobody로 작성하는 원리를 역이용한 방법이 아닌가 싶다.
www.nzeo.com에서 찾은 것을 약간 수정하였습니다. 고맙습니다.