cgi 실행 권한 문제인가?

삽질토비의 이미지

thttpd 를 설치했습니다.
데몬을 돌리는것 까지도 문제는 없는것 같습니다.
cgi-bin 디렉토리에 test.cgi 를 만들고 퍼미션을 +x 를 주었습니다.

test.cgi 내용은

#!/bin/sh
ifconfig

이렇습니다.

이렇게 하고 익스플로러에서 실행을 해보면,
아무 변화가 없습니다.
"cgi 파일을 못찾으면 못 찾는다"
"실행 할 수 없으면 실행할 수 없다"
라고 뿌리던 놈이 두가지 문제가 없으면(제대로 설정이 되면) 아무 반응을 안합니다.

이번엔 test.cgi를

#!/bin/sh
/sbin/ifconfig

라고 해보았습니다.

그리고 익스플로러에서 실행해보면,
제대로 찍혀 나옵니다.
캐리지리턴 없이 쭈~욱 일렬로 뿌려댑니다.

그렇다면 실행파일의 절대경로를 적어주면 실행을 한다는 얘긴데,
그것도 의심이 되는것이,

/sbin/ifconfig eth0

이렇게, 옵션을 넣은채 test.cgi를 고쳐주면,
이번엔 또다시 먹통이 됩니다.

결론은 실행파일을 절대경로 붙여서 넣어주면 실행은 되나,
뒤에 옵션이 붙으면 아무짓도 안한다는 겁니다.

또다른 테스트 프로그램 test2.cgi를 만들어 봤습니다.

#!/bin/sh
/bin/echo "ABCD"

이거 역시 아무 반응이 없습니다.

실행 가능하게 해서 뒤에 cgi 만 붙여주면,
실행 파일인줄 알고 실행을 해야 할 텐데,
꼼짝을 안하는게 이상합니다.

혹시 실행 권한 문제입니까?
권한을 nobody, nobody로 줘봤습니다.
그래도 마찬가지 이던데,.
의심할 부분이 또 있는지 좀 부탁드리겠습니다.

kihongss의 이미지

먼저 다음과 같은 헤더를 출력한후 해 보세요 :)

echo "Content-type: text/html\n\n"

mrjh76의 이미지

음... busybox 의 httpd를 가지고 해봤는데...

위의 모든 경우에 대해서.. 잘 되는군요!!!

httpd가 무슨 권한을 가지고 실행되는지를 살펴봐야 하지 않을까요?

삽질토비의 이미지

cgi를 웹에서 실행을 시킬때는, 반드시 사용자 인증을 거쳐야 하더군요.
사용자 인증이라...
보안 문제가 있기 때문에, "반드시"라는 문구를 무시하지 말았어야 했습니다.
.htpasswd 라는 파일을 cgi-bin에 넣어줬습니다.
물론 이 파일은 thttpd 컴파일 시 htpasswd 라는 바이너리 파일로, cgi 접근 계정과, 비밀번호를 생성해 주면, .htpasswd라는 파일로 암호화 되서 만들어지더군요.
이거 있으니까, 인증 거쳐서 cgi 실행 됩니다.
너무 기본적인걸 무시해서 생긴 삽질인듯 합니다.
답글 달아주셔서 감사합니다.

컴파일러는 절대 거짓말을 하지 않는다.
믿지 못하겠다고, 두번! 세번! 컴파일 하지 마라.
목에 핏대 세우고, 암만 눈 부라려봐야 항상 너의 참패로 끝나는 싸움이다.
굴복하고 컴파일러가 시키는대로 해라.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.