[완료] php의 내장 함수 exec 실행안되는 문제

lattente의 이미지

예전에 올렸던 글이 미해결상태로 남아있어서 정리하여 다시 도움 구합니다. ㅠㅠ

<?
$rt=exec("ls");
echo $rt;
?>

이런식으로 코딩된 php 파일이 있습니다. 웹에서 이녀석 접근하면 아무결과도 안뱉습니다.

아예 exec가 실행이 안되는거죠. 위의 코드는 예를 든것으로 다른 어떤 명령어도 마찬가지

입니다. php함수도 passthru, system, proc_open, 등등 실행관련 함수는 다 똑같은 결과가

나오구요. 실행할 명령어의 권한쪽에는 문제가 없는듯합니다.

그런데 같은 세팅의 다른 웹서버에서는 정상적으로 실행이 됩니다.

두 서버는 nfs로 연결되어있기 때문에 웹서비스 root 파일은 똑같다고 보시면 됩니다.

두 서버는 같은 os, php, apache, php.ini, httpd.conf 를 사용합니다. -_-;

다른 확인 방법이나 확인해봐야할 설정을 아시는 분은 도움 주시면 정말 감사하겠습니다.

그럼 이만 꾸벅 ㅠㅠ

lattente의 이미지

해결하고 나니 비슷한 문제로 고민하시는 분이 없을듯하지만 -_-; 자답 올립니다.

문제는 결국 /bin/bash 의 퍼미션 문제였는데... 이번에 제 멍청함과 기초지식 부족에 정말 치를떨었습니다.

예~~전에 보안상의 이유로 여러가지 명령어들 퍼미션을 기본 퍼미션과 다르게 설정할때 저걸 건드리고 몰랐던 겁니다. Orz

퍼미션이 755가 디폴트인걸로 알고있는데 750 으로 되어있더군요 -_-;

php에서 사용하는 exec 함수가 결국엔 쉘에서 사용하는 exec 인가보네요... 쉘의 퍼미션이 그대로라면

당연히 nobody 계정에서는 실행이 안되는것을 여태 모르고 있었네요... 에혀-

암튼 해결했지만, 스스로의 멍첨함에 어이상실 상태입니다.

그럼 이만 정신을 좀 추스리고 진행못하던 작업을 진행해야겠네요;;;

댓글 달기

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 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.