쳇팅서버인데
서버는 쓰레드기반으로 돌고있으며 db인증을 합니다(db상의 유저정보는 시스템유저와 동일)
파일전송기능을 추가하였는데 현재는 서버가 root로 실행되기 때문에 모든유저가
root권한으로 파일을 핸들합니다--;
나름대로 해결책을 강구해본결과 유저별로 생성되는 thread 딴에서 프로세스 소유자를 해당유저로 변경하면 될 듯 한데요
setuid를 사용가능한가요? 아니면 다른 해결책이라도 제시해주시면 감사하겠습니다
multithreaded application의 경우 setuid가 하나의 쓰레드가 아닌 모든 쓰레드 그룹에 적용되는 걸로 알고 있습니다.
다른 방법을 생각해 보심이...
도움이 못 되 지송~
/*************************************** Being the one is just like being in love. ***************************************/
채팅서버 자체가 루트 권한을 가지고 운영되는 좋지 않습니다. 프로세스 기동시 루트권한이 반드시 필요한 경우라고 하더라도 그 필요한 경우까지만 루트권한으로 실행하시고 채팅서버 프로세스를 운영하는 일반 유저 권한으로 전환하시는 것이 좋습니다. 그럼 고민하시는 것은 자동 해결 되실 듯 한데요.
텍스트 포맷에 대한 자세한 정보
<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]
multithreaded application의 경우
multithreaded application의 경우 setuid가 하나의 쓰레드가
아닌 모든 쓰레드 그룹에 적용되는 걸로 알고 있습니다.
다른 방법을 생각해 보심이...
도움이 못 되 지송~
/***************************************
Being the one is just like being in love.
***************************************/
루트권한으로 돌리지 마세요.
채팅서버 자체가 루트 권한을 가지고 운영되는 좋지 않습니다.
프로세스 기동시 루트권한이 반드시 필요한 경우라고 하더라도 그 필요한 경우까지만 루트권한으로 실행하시고 채팅서버 프로세스를 운영하는 일반 유저 권한으로 전환하시는 것이 좋습니다.
그럼 고민하시는 것은 자동 해결 되실 듯 한데요.
댓글 달기