[완료] php의 내장 함수 exec 실행안되는 문제
글쓴이: lattente / 작성시간: 화, 2008/11/11 - 7:40오후
예전에 올렸던 글이 미해결상태로 남아있어서 정리하여 다시 도움 구합니다. ㅠㅠ
<?
$rt=exec("ls");
echo $rt;
?>
이런식으로 코딩된 php 파일이 있습니다. 웹에서 이녀석 접근하면 아무결과도 안뱉습니다.
아예 exec가 실행이 안되는거죠. 위의 코드는 예를 든것으로 다른 어떤 명령어도 마찬가지
입니다. php함수도 passthru, system, proc_open, 등등 실행관련 함수는 다 똑같은 결과가
나오구요. 실행할 명령어의 권한쪽에는 문제가 없는듯합니다.
그런데 같은 세팅의 다른 웹서버에서는 정상적으로 실행이 됩니다.
두 서버는 nfs로 연결되어있기 때문에 웹서비스 root 파일은 똑같다고 보시면 됩니다.
두 서버는 같은 os, php, apache, php.ini, httpd.conf 를 사용합니다. -_-;
다른 확인 방법이나 확인해봐야할 설정을 아시는 분은 도움 주시면 정말 감사하겠습니다.
그럼 이만 꾸벅 ㅠㅠ
Forums:
자답입니다.
해결하고 나니 비슷한 문제로 고민하시는 분이 없을듯하지만 -_-; 자답 올립니다.
문제는 결국 /bin/bash 의 퍼미션 문제였는데... 이번에 제 멍청함과 기초지식 부족에 정말 치를떨었습니다.
예~~전에 보안상의 이유로 여러가지 명령어들 퍼미션을 기본 퍼미션과 다르게 설정할때 저걸 건드리고 몰랐던 겁니다. Orz
퍼미션이 755가 디폴트인걸로 알고있는데 750 으로 되어있더군요 -_-;
php에서 사용하는 exec 함수가 결국엔 쉘에서 사용하는 exec 인가보네요... 쉘의 퍼미션이 그대로라면
당연히 nobody 계정에서는 실행이 안되는것을 여태 모르고 있었네요... 에혀-
암튼 해결했지만, 스스로의 멍첨함에 어이상실 상태입니다.
그럼 이만 정신을 좀 추스리고 진행못하던 작업을 진행해야겠네요;;;
댓글 달기