Child pages
  • Crowd Dokumentation - Automatische Ausführung Crowds und Verwendung eines unprivilegierten Systembenutzers auf UNIX
Skip to end of metadata
Go to start of metadata


Diese Seite beinhaltet einige nützliche Informationen über die Ausführung Crowd auf Linux/UNIX:

  • Dedizierter Systembenutzer. Aus Sicherheitsgründen und um den Systemadministrator zufrieden zu stellen, sollten Sie einen dedizierten nicht-root Benutzer erstellen, um Crowd auszuführen.
  • Automatischer Start. Es ist nützlich Crowd zu konfigurieren, sodass es automatisch beim UNIX-Start ausgeführt wird.


Crowd mit einem unprivilegierten Benutzer ausführen

Hier ist ein Beispiel von einigen Änderungen, die Sie vornehmen können, um das Verzeichnis und die Datei-Berechtigungen für Crowd zu verschärfen, damit es mit einem nicht-root Benutzer ausgeführt werden kann.

Sie müssen die Umgebungsvariablen passend zu Ihrer Installation abändern. Das gilt für die Verwendung von BASH, wenn Sie eine andere Shell verwenden, müssen Sie vielleicht einige Dinge nachjustieren.

#!/bin/bash
CROWD_USER="crowd"
CROWD_GROUP="crowd"
INSTALL_BASE="/opt/crowd/atlassian-crowd-2.2.2"
CROWD_HOME="/var/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 automatisch starten lassen

  1. Erstellen Sie eine init.d Datei (zum Beispiel "crowd.init.d") innerhalb Ihres {CROWD_INSTALL} Verzeichnisses:

    #!/bin/bash
    # Crowd startup script
    #chkconfig: 2345 80 05
    #description: Crowd
    
    
    # Based on script at http://www.bifrost.org/problems.html
    
    RUN_AS_USER=crowd
    CATALINA_HOME=/opt/crowd/atlassian-crowd-2.2.2/apache-tomcat
    
    start() {
            echo "Starting Crowd: "
            if [ "x$USER" != "x$RUN_AS_USER" ]; then
              su - $RUN_AS_USER -c "$CATALINA_HOME/bin/startup.sh"
            else
              $CATALINA_HOME/bin/startup.sh
            fi
            echo "done."
    }
    stop() {
            echo "Shutting down Crowd: "
            if [ "x$USER" != "x$RUN_AS_USER" ]; then
              su - $RUN_AS_USER -c "$CATALINA_HOME/bin/shutdown.sh"
            else
              $CATALINA_HOME/bin/shutdown.sh
            fi
            echo "done."
    }
    
    case "$1" in
      start)
            start
            ;;
      stop)
            stop
            ;;
      restart)
            stop
            sleep 10
            #echo "Hard killing any remaining threads.."
            #kill -9 `cat $CATALINA_HOME/work/catalina.pid`
            start
            ;;
      *)
            echo "Usage: $0 {start|stop|restart}"
    esac
    
    exit 0
  2. Erstellen Sie einen symbolischen Link von /etc/init.d/crowd zur init.d Datei.


Tipp für Red Hat Systeme.

Auf Red Hat und Red Hat basierenden Systemen, wie CentOS, können Sie beim Einfügen des obigen Skripts in /etc/init.d, die notwendigen, symbolischen Links mit dem chkconfig Skript erstellen, da all die erforderlichen Informationen im Skript-Header sind.

sudo /sbin/chkconfig --add SCRIPT_NAME

Ersetzen Sie "SCRIPT_NAME" mit dem richtigen Namen des Skripts.

Vielen Dank für diese Information!

Ein besonderes Dankeschön geht an Matthew Block und Pete Toscano, für die ursprünglichen Kommentare, auf welche diese Dokumentation basiert.




Crowd Dokumentation Übersicht:



Crowd Doku

  • No labels