디렉토리와 파일을 지우지 못하고 있습니다

golden의 이미지

제 웹호스팅 서버에 어떤 블로그 프로그램(수정)을 시험삼아서 잠시 설치했었는데, uninstall 한 후에 디렉토리와 파일을 지우려니 일부가 지워지지 않습니다.
허가거부라는 것입니다. 이상하여 자세히 살펴보니 파일소유자가 제가 아니고 nobody 로 돼 있습니다.

이런 경우에는 어떻게 해야 지울 수 있는지 가르쳐 주십시오.
감사합니다.

manea의 이미지

제가 했던 방식은요 ^^

웹호스팅 서버에서 PHP가 돌아가겠죠?
PHP명령어중 디렉토리와 파일을 삭제하는 명령이 있지요.

삭제하려는 파일과 디렉토리를 확인한후에

temp.php 파일을 만들어서 그 소스에 삭제하는 코드를 입력하는 겁니다.
그리고 브라우저로 temp.php파일을 호출 하면 되죠.
브라우저로 접속하면 nobody계정으로 접속하는거니까요. ^^

temp.php는 그후에 꼭 삭제하세요.

열정!! ^^

golden의 이미지

manea wrote:
제가 했던 방식은요 ^^

temp.php 파일을 만들어서 그 소스에 삭제하는 코드를 입력하는 겁니다.

예를 들면 soojung/contents/upload 라는 디렉토리가 있습니다. 그 안에는 파일이 없습니다.
여기서 contents, contents/upload 디렉토리를 삭제하렵니다.

int rmdir(string soojung/contents/upload);
int rmdir(string soojung/contents)

이렇게 코딩했습니다. 제대로 된 것인지요?
작은 아이의 php 핸드북을 보고 작성했습니다.

mirr의 이미지

golden wrote:
manea wrote:
제가 했던 방식은요 ^^

temp.php 파일을 만들어서 그 소스에 삭제하는 코드를 입력하는 겁니다.

예를 들면 soojung/contents/upload 라는 디렉토리가 있습니다. 그 안에는 파일이 없습니다.
여기서 contents, contents/upload 디렉토리를 삭제하렵니다.

int rmdir(string soojung/contents/upload);
int rmdir(string soojung/contents)

이렇게 코딩했습니다. 제대로 된 것인지요?
작은 아이의 php 핸드북을 보고 작성했습니다.

그냥 간단히
<? passthru("rm -rf <지울디렉 or 파일명>"); ?>
이놈 한줄이면 끝납니다 ㅡ,.ㅡ:::::
passthru라는게 리눅스 쉘명령을 실행시켜주는 함수라고
php를 전혀 모르는 저는 그렇게 알고 있습니다...
할수 있는건 다 할 수 있었으니 뭐...되겠죠 ㅋㅋ
물론 이 파일이 들어있는 위치는 지우고자 하는 웹계정소유 디렉토리 상위에 들어있어야 할겁니다.

지울 디렉이나 파일명들을 정확히 확인하시고 잘 기입해주세요.
다른거 날리지 마시구요 ㅡ,.ㅡ::::

내 마음속의 악마가 자꾸만 나를 부추겨.
늘 해왔던 것에 만족하지 말고 뭔가 불가능해 보이는 것을 하라고 말야.

세이군의 이미지

golden wrote:
manea wrote:
제가 했던 방식은요 ^^

temp.php 파일을 만들어서 그 소스에 삭제하는 코드를 입력하는 겁니다.

예를 들면 soojung/contents/upload 라는 디렉토리가 있습니다. 그 안에는 파일이 없습니다.
여기서 contents, contents/upload 디렉토리를 삭제하렵니다.

int rmdir(string soojung/contents/upload);
int rmdir(string soojung/contents)

이렇게 코딩했습니다. 제대로 된 것인지요?
작은 아이의 php 핸드북을 보고 작성했습니다.

rmdir('soojung/contents/upload');
rmdir('soojung/contents');
가 올바른 표현입니다.

랜덤여신의 이미지

전 이렇게 합니다.

<?php
system('chmod -R 777 /억세게/안지워지는/경로');
?>

이렇게 하면 /억세게/안지워지는/경로 의 접근 권한이 모두에게 허용되므로, 일반계정으로도 쉽게 지울 수 있습니다.
manea의 이미지

랜덤의여신 wrote:
전 이렇게 합니다.
<?php
system('chmod -R 777 /억세게/안지워지는/경로');
?>

이렇게 하면 /억세게/안지워지는/경로 의 접근 권한이 모두에게 허용되므로, 일반계정으로도 쉽게 지울 수 있습니다.

이방법은 나중에도 활용할 수 있겠네요 ^^
지우려는 파일중에 옮기고 싶은 파일도 이렇게 폴더 권한을 변경 하고,
SSH에서 파일을 다른 디렉토리로 옮긴후에 확인하면서 지울 수 있으니까 더 좋은 방법인듯 합니다. ^^

제가 무지 게을러서 생각만 말씀드렸더니
여러다른 분들께서 좋은 답변주시네요 ^^
고맙습니다. ^^;

열정!! ^^

golden의 이미지

두 가지 방법을 모두 사용해서 다 지웠습니다.
이제 php 핸드북에 있는 그 함수들인가 하는것이 무엇인지도, 어떻게 표현하여야 하는지도 감을 잡았습니다.

여러분께 감사를 드립니다.

mirr의 이미지

사실 웹페이지로도 마치 쉘에 접속해있는것처럼 행동 할 수도 있습니다.

<? passthru($cmd); ?>

이렇게 하면 이 파일이 들어있는 곳으로 웹브라우져를 통해 엑세스한뒤,
"?cmd=쓰고싶은명령" 이렇게 덧붙여주면 (ex. http://ex.net/cmd.php?cmd=dir)
웹계정의 권한으로 브라우저를 통해 쉘명령을 마음대로 실행 시킬 수 있습니다.
물론 보기는 불편합니다만.. ㅋㅋㅋ
게다가 보안상 악용의 문제가 있겠죠 ㅡ,.ㅡ:::

내 마음속의 악마가 자꾸만 나를 부추겨.
늘 해왔던 것에 만족하지 말고 뭔가 불가능해 보이는 것을 하라고 말야.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.