> 웹상에서 실행을 하면 소유권이 nobody로 되더군요.
>
> ///////////////////////////////////////////////////////////////
> 우선, postgres로 로그인을 한 후에
> createuser nobody를 만들어야 되겠죠.
> 그리고, cgi프로그램속에 create table 명령어나 insert 명령어를
> 작성하면 소유권이 nobody로 됩니다.
> ///////////////////////////////////////////////////////////////
즉, 새로 테이블을 만드셨다는 뜻이군요.
그리고 nobody를 테이블 생성 권한을 주셨다는 뜻인데...
좀 위험하지 않을까요?
제가 웹을 구성한 적이 없으니 cgi가 어떤 식으로 돌아가는지는
모르겠습니다만,
postgresql에서 테이블 생성권한이 있는 사람은 곧 postgres와 거의
흡사한 테이블 접근권한을 가집니다.
소유권한이 다른 테이블에의 임의 접근이 가능해 지는 겁니다.
어떻게 구성하셨는지는 모르겠지만 다른 테이블이 없으며(또는
파괴되도 상관없으며) 사용하는 테이블에 변형이 가해져도 별다른
문제가 없거나 아니면 cgi수준에서 그런 시도를 막아낼 수 있어야만
할 겁니다.
뭔지는 모르지만 잘 되시길 바랍니다.
인천의 나사 풀린 산호....
|