디렉토리와 파일을 지우지 못하고 있습니다
글쓴이: golden / 작성시간: 목, 2005/10/06 - 9:48오전
제 웹호스팅 서버에 어떤 블로그 프로그램(수정)을 시험삼아서 잠시 설치했었는데, uninstall 한 후에 디렉토리와 파일을 지우려니 일부가 지워지지 않습니다.
허가거부라는 것입니다. 이상하여 자세히 살펴보니 파일소유자가 제가 아니고 nobody 로 돼 있습니다.
이런 경우에는 어떻게 해야 지울 수 있는지 가르쳐 주십시오.
감사합니다.
Forums:
제가 했더 방식은요 ^^
제가 했던 방식은요 ^^
웹호스팅 서버에서 PHP가 돌아가겠죠?
PHP명령어중 디렉토리와 파일을 삭제하는 명령이 있지요.
삭제하려는 파일과 디렉토리를 확인한후에
temp.php 파일을 만들어서 그 소스에 삭제하는 코드를 입력하는 겁니다.
그리고 브라우저로 temp.php파일을 호출 하면 되죠.
브라우저로 접속하면 nobody계정으로 접속하는거니까요. ^^
temp.php는 그후에 꼭 삭제하세요.
열정!! ^^
Re: 제가 했더 방식은요 ^^
예를 들면 soojung/contents/upload 라는 디렉토리가 있습니다. 그 안에는 파일이 없습니다.
여기서 contents, contents/upload 디렉토리를 삭제하렵니다.
int rmdir(string soojung/contents/upload);
int rmdir(string soojung/contents)
이렇게 코딩했습니다. 제대로 된 것인지요?
작은 아이의 php 핸드북을 보고 작성했습니다.
Re: 제가 했더 방식은요 ^^
그냥 간단히
<? passthru("rm -rf <지울디렉 or 파일명>"); ?>
이놈 한줄이면 끝납니다 ㅡ,.ㅡ:::::
passthru라는게 리눅스 쉘명령을 실행시켜주는 함수라고
php를 전혀 모르는 저는 그렇게 알고 있습니다...
할수 있는건 다 할 수 있었으니 뭐...되겠죠 ㅋㅋ
물론 이 파일이 들어있는 위치는 지우고자 하는 웹계정소유 디렉토리 상위에 들어있어야 할겁니다.
지울 디렉이나 파일명들을 정확히 확인하시고 잘 기입해주세요.
다른거 날리지 마시구요 ㅡ,.ㅡ::::
내 마음속의 악마가 자꾸만 나를 부추겨.
늘 해왔던 것에 만족하지 말고 뭔가 불가능해 보이는 것을 하라고 말야.
Re: 제가 했더 방식은요 ^^
rmdir('soojung/contents/upload');
rmdir('soojung/contents');
가 올바른 표현입니다.
전 이렇게 합니다.[code:1]<?phpsystem(
전 이렇게 합니다.
이렇게 하면 /억세게/안지워지는/경로 의 접근 권한이 모두에게 허용되므로, 일반계정으로도 쉽게 지울 수 있습니다.
----
블로그 / 위키 / 리눅스 스크린샷 갤러리
이방법도 좋겠네요 ^^
이방법은 나중에도 활용할 수 있겠네요 ^^
지우려는 파일중에 옮기고 싶은 파일도 이렇게 폴더 권한을 변경 하고,
SSH에서 파일을 다른 디렉토리로 옮긴후에 확인하면서 지울 수 있으니까 더 좋은 방법인듯 합니다. ^^
제가 무지 게을러서 생각만 말씀드렸더니
여러다른 분들께서 좋은 답변주시네요 ^^
고맙습니다. ^^;
열정!! ^^
성공했습니다.
두 가지 방법을 모두 사용해서 다 지웠습니다.
이제 php 핸드북에 있는 그 함수들인가 하는것이 무엇인지도, 어떻게 표현하여야 하는지도 감을 잡았습니다.
여러분께 감사를 드립니다.
사실 웹페이지로도 마치 쉘에 접속해있는것처럼 행동 할 수도 있습니다.
사실 웹페이지로도 마치 쉘에 접속해있는것처럼 행동 할 수도 있습니다.
<? passthru($cmd); ?>
이렇게 하면 이 파일이 들어있는 곳으로 웹브라우져를 통해 엑세스한뒤,
"?cmd=쓰고싶은명령" 이렇게 덧붙여주면 (ex. http://ex.net/cmd.php?cmd=dir)
웹계정의 권한으로 브라우저를 통해 쉘명령을 마음대로 실행 시킬 수 있습니다.
물론 보기는 불편합니다만.. ㅋㅋㅋ
게다가 보안상 악용의 문제가 있겠죠 ㅡ,.ㅡ:::
내 마음속의 악마가 자꾸만 나를 부추겨.
늘 해왔던 것에 만족하지 말고 뭔가 불가능해 보이는 것을 하라고 말야.
댓글 달기