ProFTPD가 nobody로 실행중인데 어떻게 일반유저로 스위칭하나요?
글쓴이: superkkt / 작성시간: 월, 2006/01/30 - 11:59오후
ProFTPD를 살펴보니 처음에 root로 필요한 설정파일등을 처리하고나서 nobody로 권한 변경을 하더군요.
그럼 클라이언트가 접속했을때 fork를 하고나서 어떻게 클라이언트가 로그인한 유저로 권한을 변경하나요?
적어도 데몬으로 돌고있는 프로세스는 root권한을 유지하고 있어야만 하는거 아닌가요? 코드를 대충 살펴보니 saved-set-uid를 이용해서 나중에 root권한이 필요할때 다시 돌아간다고 적혀있는데 이게 안되는 시스템도 있는것 같더군요.
단순히 saved-set-uid만 이용하는건가요? 아니면 다른 방법이 있는지요?
Forums:
uid는 root uid로 그대로 남겨놓고 euid. egid만 일반 유
uid는 root uid로 그대로 남겨놓고 euid. egid만 일반 유저로 바꾸고 필요하면 다시 euid, egid를 root로 바꾸더군요.
이렇게하면 일반유저로 바뀌었을때는 ps 상에서도 일반유저 소유로 보이고 프로그램상에서도 root 권한이 필요한 작업은 못하게 됩니다. 그런데 이런일이 실제로는 없겠지만.. 일반유저로 스위칭되었을때 프로그램이 쉘을 실행하도록 해봤는데 root 권한으로 쉘이 뜨더군요.
그런데 다들 알고있는걸 새롭게 발견하고 좋아라하는건 아닐런지.. :oops:
======================
BLOG : http://superkkt.com
댓글 달기