웹메일프로그램을 구매해서 사용하는데 문제가 생겨서 질문드립니다.
어떤 디렉토리의 소유자.그룹이 A.B이고 퍼미션은 700인데
웹상(PHP)에서 웹메일사용자를 추가시키면 이 디렉토리내에 파일 및
디렉을 생성하고 프로그램을 실행시켜야 합니다.
이 디렉토리를 777로 줘버리면 되겠는데 이렇게 하면 보안상에
문제가 생긴다고 업체측에서 권장하지 않는다고 하더라구요.
아파치 프로세스의권한을 위의 유저와 그룹으로 줘서 실행시켜도
된다고 하는데 제가 이걸 어떻게 하는지도 모르고 또 이것도
비권장사항이라고 하네요
그래서 문의를 했는데 다음과 같은 답변이 왔습니다.
--------------------------------------------------------
가장 중요한 부분은 각각의 디렉토리권한이 유저는 A
그룹은 B 이며, 디렉토리의 퍼미션은 700입니다.
디렉토리를 만들면서 유저의 권한을 변경하는 부분에서는 보안에
민감한 사항이므로 유의해서 권한을 변경하는 프로그램을 작성해야
합니다. 가장 쉬운방법은 아파치프로세서 권한을 위의 유저와그룹으로
변경하는 것입니다. 하지만, 이조차도 권장하지 않습니다.
최소한 메일과 관련된 부분의 유저이므로 메일에 대한 공격가능성은
잠재됩니다.
디렉토리퍼미션과 권한의 변경은 웹서버의 권한을 A와
B로 실행하면 되지만, 보안에 노출되는 부분이 있습니다.
따라서 이런경우는 bash 셀이나 c로 디렉토리에 대한 퍼미션변경에
대한 데몬형태를 사용하시는 것을 권장합니다.
간단한 bash 셀의 경우
#!/bin/sh
while [ x ]
{
chown -R A.B 경로
sleep 30
}
----------------------------------------
이메일받고 쉴프로그래밍이나 소유권에 대해 찾아보고 어쩌구
햇는데 기초 지식이 너무 부족해서 위메일의 내용조차 이해를
못하겠더라구요. root권한은 가지고 있습니다.
제가 생각해보기로는 PHP의 exec나 system명령으로
bash 파일을 구동시켜 일시적으로 해당 디렉에대해 nobody에게
권한을 주고 유저를 추가(수정/삭제)시킨다음 다시 권한을
원래대로 돌리는 방법이 있을수 있겠는데 이게 말이
안되죠? 해당디렉의 권한을 A.B 700인상태에서 웹상에서
이 디렉내에서 작업하려면 당최 어떻게 해야 할까요..
조언을 부탁합니다.