Crowd 서비스 등록 및 전용 사용자 계정 설정

전용 시스템 사용자

보안상의 이유로 시스템 루트가 아닌 크라우드를 실행할 전용 사용자 계정 생성

  • 쉘스크립트 생성하여 실행

#!/bin/bash CROWD_USER="crowd" CROWD_GROUP="crowd" INSTALL_BASE="/opt/atlassian/crowd" CROWD_HOME="/var/atlassian/application-data/crowd-home" sudo chgrp ${CROWD_GROUP} ${INSTALL_BASE}/{*.sh,apache-tomcat/bin/*.sh} sudo chmod g+x ${INSTALL_BASE}/{*.sh,apache-tomcat/bin/*.sh} sudo chown -R ${CROWD_USER} ${CROWD_HOME} ${INSTALL_BASE}/apache-tomcat/{logs,work,temp} sudo touch -a ${INSTALL_BASE}/atlassian-crowd-openid-server.log sudo mkdir ${INSTALL_BASE}/database sudo chown -R ${CROWD_USER} ${INSTALL_BASE}/{database,atlassian-crowd-openid-server.log}

서비스 등록

서버 시작시 Crowd가 자동으로 실행되도록 설정

  • {CROWD_INSTALL} 디렉토리에 init.d 파일 (예, 'crowd.init.d') 생성

#!/bin/sh -e # Crowd startup script #chkconfig: 2345 80 05 #description: Crowd # Define some variables # Name of app ( JIRA, Confluence, etc ) APP=crowd # Name of the user to run as USER=crowd # Location of Crowd install directory CATALINA_HOME=/opt/atlassian/crowd # Location of Java JDK export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 case "$1" in # Start command start) echo "Starting $APP" /bin/su -m $USER -c "$CATALINA_HOME/start_crowd.sh &> /dev/null" ;; # Stop command stop) echo "Stopping $APP" /bin/su -m $USER -c "$CATALINA_HOME/stop_crowd.sh &> /dev/null" echo "$APP stopped successfully" ;; # Restart command restart) $0 stop sleep 5 $0 start ;; *) echo "Usage: /etc/init.d/$APP {start|restart|stop}" exit 1 ;; esac exit 0
  • 생성된 init.d 파일 /etc/init.d/crowd 로 심볼릭 링크

$ sudo chmod 755 crowd.init.d $ sudo ln -sf crowd.init.d /etc/init.d/crowd