svn post-commit을 이용한 commit 후 배포

hooks 디렉토리에 post-commit.tmpl 을 post-commit 으로 cp 한후

 

아래 내용을 추가 한다.

REPOS="$1" #/home/svn/레파지토리명
REV="$2" # 리비젼 번호

/gsp/dev_auto_commit.sh ${REPOS} ${REV}

 


 

auto_commit.sh

#!/bin/sh
# Auto exporting when a commit command complete succefuly
# Hooking script post-commit invoke this script
if [ $# != 2 ]; then
    echo "Usage: $0 <Repository> <Revision>"
    exit 1
fi
REPOS="$1"
REV="$2"
WEB_DIR="/gsp/"
GUID="root:root"
RESULT_TMP=$(svnlook changed -r ${REV} ${REPOS} | awk '{print $1$2}')
echo $RESULT_TMP >> /tmp/tmp_file
if [ -z $RESULT_TMP ]; then
    exit 1
fi
for RESULT in $RESULT_TMP
do
        COMMIT_STATUS=$(echo ${RESULT:0:1})
        if [ -z $COMMIT_STATUS ]; then
                exit 1+
        fi
        case "$COMMIT_STATUS" in
        [UADRG])
                COMMIT_FILENAME=$(echo ${RESULT:1})
                PATH_FILTER=$(echo "$RESULT"|awk -F / '{for (i=2;i<NF;i=i+1){ print "/"$i }  }')
                PATH_FILTER2=$(echo $PATH_FILTER|sed 's/ //g')
                #COMMIT_FILENAME=$WEB_DIR$PATH_FILTER2
                COMMIT_FILENAME_NO_TRUNK=$(echo ${RESULT:7})

    EXPORT_RESULT=$(svn update -r ${REV} "${WEB_DIR}${COMMIT_FILENAME_NO_TRUNK}")
    chown "$GUID" -R "${WEB_DIR}${COMMIT_FILENAME_NO_TRUNK}";;
    
        esac
done
exit 0

by 견우 | 2009/04/16 15:33 | 트랙백

사용자 생성 및 계정 관리

사용자생성 계정 관리

 

리눅스 내부 명령어 : 셀에 내장되어 있는 명령어로 셀이 명령어를 이해한다.

리눅스 외부 명령어 : /bin 안에 파일의 형태로 존재

차이점 : 내부 명령어의 실행 시 별도의 프로세서를 시작시키지 않지만, 외부 명령어의 실행 시 새로운 서브 프로세서를 fork하고 실행

 

 

검색 경로 지정

리눅스에서 명령어는 셀이 특정 검색 경로를 찾아 실행하게 되어 있다.

검색경로가 지정되어 있는 파일 : .bash_profile

PATH = _______: _______:

path에 지정된 경로에 자주 사용하는 명령어의 결로를 앞쪽에 두는 것이 좋다. path에 설정된 경로를 찾을 때까지 앞에서 뒤쪽으로 차례대로 검색

 

/etc/default/useradd : 사용자의 기본적인 셀 환경을 설정할 수 있음.

  ==>more

 

계정 조회

users

현재 시스템에 로그인된 사용자 계정을 조회 / 사용자 계정에 대한 정보를 확인

          cat n /etc/passwd

                       root  :  x  :  o  :  o  :  root  :  /root  :  /bin/bash

                         1     2     3     4      5        6          7

                                     1 : 사용자명

                                     2 : 패스워드 (/etc/shadow 파일에 암호화되어 있음)

                                     3 : 사용자 계정 uid

                                     4 : 사용자 계정 gid

                                     5 : 사용자 계정 이름 정보

                                     6 : 사용자 계정 홈 디렉토리

                                     7 : 사용자 계정 로그인 셀

 

             cat n /etc/shadow

                           root  :  #$%!234^x13  :  11535  :  o  :  99999  :  7  :  :  :  :

                             1            2             3       4       5       6   7  8  9

                                        1 : 사용자명

                                        2 : 패스워드

                                        3 : 패스워드 파일 최종 수정일

                                        4 : 패스워드 변경 최소일

                                        5 : 패스워드 변경 최대일

                                        6 : 패스워드 만료 경고 기간

                                        7 : 패스워드 파기 기간 (패스워드 파기 후 계정 비활성 기간)

                                        8 : 계정 만료 기간

                                        9 : 예약 필드    ==>more

 

 

계정 생성 기본 설정 파일

/etc/default/useradd : 사용자의 기본적인 그룹, 홈디렉토리, 만기일, 셀 지정

/etc/login.defs (쉐도우 패스워드 사용 시) : 사용자의 각종 환경변수 지정

user D : 기본 설정 사항 확인

 

 

계정 생성 암호 설정

useradd  생성할 계정명

passwd   생성한 계정명

useradd [옵션] 로그인 계정

             -c comment : 사용자 이름 또는 정보

             -d home_directory : 사용자 계정 홈 디렉토리

             -e expire_date : 사용자 계정 유효 기간

             -f inactive_time : 비활성 기간

             -g initial_group : 기본 그룹

             -G grout : 다음 그룹

             -s shell : 기본 로그인 셀

             -u uid : 사용자 계정 uid

 

 

계정 변경

usermod [옵션] 로그인 계정

-c comment : 사용자 이름 또는 정보

-d home_directory : 사용자 계정 홈 디렉토리

-e expire_date : 사용자 계정 유효 기간

-f inactive_time : 비활성 기간

-g initial_group : 기본 그룹

-G grout : 다음 그룹

-s shell : 기본 로그인 셀

-u uid : 사용자 계정 uid

                       usermod d /home/user m user

                       usermod e 2003-04-05 user

                       usermod f 3 user

                       usermod g users user    ==>more

 

 

계정 삭제

userdel r 계정 (-r : 해당 계정자의 홈디렉토리까지 한 번에 삭제)

 

 

그룹조회

cat n /etc/group

 

 

그룹생성

groupadd [-g GID [-o]]            그룹 id (-o : GID 499이하 값으로 지정)

                       [-r]                    그룹 id 499이하 값으로 자동 지정

                       [-f]                    강제로 생성

                           groupadd g 900 toheart (900 groupid / toheart 그룹명)

 

 

그룹변경

groupmod [-g gid [-o]]            gid변경

                        [-n]                    새로운 그룹명으로 변경

                                     groupmod g 700 toheart

                                     groupmod n kkum toheart

 

 

그룹삭제

groupdel group             group 제거

 

 

출처 : 출처 : 정보보안.네트워크.IT자격증 정보공유사이트

by 견우 | 2009/04/16 15:32 | 트랙백

◀ 이전 페이지          다음 페이지 ▶