참조: http://websupport.sk/~stanojr/projects/mod_ruid



VirtualHost 사용시 각 사용자:그룹별로 권한을 줄 수 있는 모듈.



[설치]
1. libcap을 설치 (다운로드: http://www.kernel.org/pub/linux/libs/security/linux-privs)
2. APACHE_DIR/bin/apxs -a -i -l cap -c mod_ruid.c 실행
3. httpd.conf 설정
  - LoadModule ruid_module    modules/mod_ruid.so  (이 부분이 있어야 함)
4. apache 재시작



[옵션]
RMode config|stat (기본은 stat)
  - stat : httpd의 기본 setuid, setgid 설정을 따름. VirtualHost를 위해 mod_vhost_alias 모듈을 사용할 때 좋음
  - config : mod_suid2와 같이 uid, gid를 설정해야 함
RUidGid user|#uid group|#gid
  - RMode가 config 일 경우 RUidGid를 설정해야 함.

RMinUidGid user|#uid group|#gid
  - uid/gid가 최소 uid/gid보다 클 경우 default uid/gid로 세팅.
RDefaultUidGid user|#uid group|#gid

RGroups group1 group2
  - 추가 그룹 세팅

RCoreDump on|off
  - 만약 on이면 httpd가 crash되었을 때 코어덤프를 생성함 (기본은 off)
RCoreDumpSize
  - 코어덤프의 한계사이즈 설정. 0은 무제한 (기본은 0)



[예제]
httpd.conf 파일에서...


LoadModule ruid_module    modules/mod_ruid.so
User                                 apache
Group                               apache
# 기본설정으로 가되, apachetmp 그룹추가
RMode                             stat
RGroups                           apachetmp

# 코어덤프를 생성하고 싶다면 주석을 제거해야 함 (코어덤프를 생성할 디렉토리 권한은 777 이어야 함)
#RCoreDump                     on
#CoreDumpDirectory          /usr/apache/core



NameVirtualHost 192.168.0.1
<VirtualHost example.com>
    ServerAdmin      webmaster@example.com
    DocumentRoot    /home/example.com/public_html
    ServerName       example.com
    ServerAlias        www.example.com
    # 여기서부터 ruid 설정
    RMode              config
    RUidGid             user1 group1
    RGroups            apachetmp
</VirtualHost>









Posted by bloodguy
,