Do I have to change my java security file? Particularly these policy variables:

auth.policy.provider=?
login.configuration.provider=?

Tim Frank wrote:

Oliver,

Not a problem. I just had a look into the two files this morning and made an adjustment that should make things work regardless if the CATALINA_HOME is set prior to running the startup.sh or if it is set during the execution of the catalina.sh script.

I basically moved the following line from startup.sh to catalina.sh for the fix.

export CATALINA_OPTS="${CATALINA_OPTS} -Djava.security.auth.login.config=${CATALINA_HOME}/conf/jaas.config"

It may be possible to integrate this with the options being set in the "if -security" block in catalina.sh, but I don't know enough about what those options are.

Files are attached.

Tim

Oliver Zeigermann wrote on 30/10/04 05:03 AM:

Hi Tim,

would you send the correct versions of catalina.sh and startup.sh to
the list so we all can benefit from it and take it over for the next
Slide release?

Thanks in advance,

Oliver


On Fri, 29 Oct 2004 15:15:14 -0400, Tim Frank <[EMAIL PROTECTED]> wrote:

I just fought with this, among other things, today. After reading this
information:

http://jakarta.apache.org/slide/howto-jaas.html

I ended up putting the export portion in the catalina.sh file just under
the line where it checks/sets the CATALINA_HOME variable.


CATALINA_OPTS=-Djava.security.auth.login.config=$CATALINA_HOME/conf/jaas.config

export CATALINA_OPTS

I found that exporting the CATALINA_HOME was NOT enough to pick up the
path to the jaas.config file.

Hope that helps you. My other problem now is that once that is setup and
working I can't login to the Tomcat Admin/Manger consoles no matter what
I try :) Oh, and related to that, if you did change your server.xml to
use the old default MemoryRealm configuration it might also cause this
problem.


Tim

Brian Lee wrote on 29/10/04 03:03 PM:



How do you set the path correctly? it seems even if I set both
CATALINA_HOME and BASEDIR in my .profile -it doesn't work....


Yes, but in startup.sh the path indeed isn't set correctly. So when
you launch it on non-Windows, it really does not work :(

Oliver


On Fri, 29 Oct 2004 12:06:17 +0200, Unico Hommes <[EMAIL PROTECTED]> wrote:




You should launch Tomcat using 'start' instead of 'catalina run' did
you do that? The location of the login configuration is set there.

--
Unico



On 29-okt-04, at 1:59, Brian Lee wrote:




I'm having a problem with Slide 2.1 b2 that I did not have for 2.0 for
both linux (fedora core 2) and mac osx. (This does not occur in
windows)
Once I start running Slide - I can't login with any of the default
users: root, guest, john, john2


I notice this error:

"Oct 28, 2004 4:07:33 PM org.apache.catalina.realm.JAASRealm
authenticate
SEVERE: Unexpected error
java.lang.SecurityException: Unable to locate a login configuration
at
com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:97)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructor


AccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCon


structorAccessorImpl.java:27)
at
java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at
javax.security.auth.login.Configuration$3.run(Configuration.java:221)


at java.security.AccessController.doPrivileged(Native Method)
at
javax.security.auth.login.Configuration.getConfiguration(Configuration.


java:215)
at
javax.security.auth.login.LoginContext$1.run(LoginContext.java:170)
at java.security.AccessController.doPrivileged(Native Method)
at
javax.security.auth.login.LoginContext.init(LoginContext.java:167)
at
javax.security.auth.login.LoginContext.<init>(LoginContext.java:404)


at
org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:298)


at
org.apache.catalina.authenticator.BasicAuthenticator.authenticate(Basic


Authenticator.java:129)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticato


rBase.java:504)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC


ontext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:


520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav


a:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC


ontext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav


a:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC


ontext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:


520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve


.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC


ontext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:


520)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)


at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:
160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:


799)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process


Connection(Http11Protocol.java:705)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:


577)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPoo


l.java:683)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.io.IOException: Unable to locate a login configuration
at
com.sun.security.auth.login.ConfigFile.init(ConfigFile.java:206)
at
com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:95)
... 33 more"


Does anyone have suggestions? Thanks in advance

Brian

---------------------------------------------------------------------

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------


To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

------------------------------------------------------------------------

#!/bin/sh
# -----------------------------------------------------------------------------
# Start/Stop Script for the CATALINA Server
#
# Environment Variable Prequisites
#
#   CATALINA_HOME   May point at your Catalina "build" directory.
#
#   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions
#                   of a Catalina installation.  If not present, resolves to
#                   the same directory that CATALINA_HOME points to.
#
#   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
#                   "stop", or "run" command is executed.
#
#   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
#                   the JVM should use (java.io.tmpdir).  Defaults to
#                   $CATALINA_BASE/temp.
#
#   JAVA_HOME       Must point at your Java Development Kit installation.
#
#   JAVA_OPTS       (Optional) Java runtime options used when the "start",
#                   "stop", or "run" command is executed.
#
#   JPDA_TRANSPORT  (Optional) JPDA transport used when the "jpda start"
#                   command is executed. The default is "dt_socket".
#
#   JPDA_ADDRESS    (Optional) Java runtime options used when the "jpda start"
#                   command is executed. The default is 8000.
#
#   JSSE_HOME       (Optional) May point at your Java Secure Sockets Extension
#                   (JSSE) installation, whose JAR files will be added to the
#                   system class path used to start Tomcat.
#
#   CATALINA_PID    (Optional) Path of the file which should contains the pid
#                   of catalina startup java process, when start (fork) is used
#
# $Id: catalina.sh,v 1.13.2.1 2004/08/21 15:49:49 yoavs Exp $
# -----------------------------------------------------------------------------

# OS specific support.  $var _must_ be set to either true or false.
cygwin=false
os400=false
case "`uname`" in
CYGWIN*) cygwin=true;;
OS400*) os400=true;;
esac

# resolve links - $0 may be a softlink
PRG="$0"

while [ -h "$PRG" ]; do
 ls=`ls -ld "$PRG"`
 link=`expr "$ls" : '.*-> \(.*\)$'`
 if expr "$link" : '.*/.*' > /dev/null; then
   PRG="$link"
 else
   PRG=`dirname "$PRG"`/"$link"
 fi
done

# Get standard environment variables
PRGDIR=`dirname "$PRG"`

# Only set CATALINA_HOME if not already set
[ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." ; pwd`
export CATALINA_OPTS="${CATALINA_OPTS} 
-Djava.security.auth.login.config=${CATALINA_HOME}/conf/jaas.config"

if [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
 . "$CATALINA_HOME"/bin/setenv.sh
fi

# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin; then
 [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
 [ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`
 [ -n "$CATALINA_BASE" ] && CATALINA_BASE=`cygpath --unix "$CATALINA_BASE"`
 [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
 [ -n "$JSSE_HOME" ] && JSSE_HOME=`cygpath --absolute --unix "$JSSE_HOME"`
fi

# For OS400
if $os400; then
 # Set job priority to standard for interactive (interactive - 6) by using
 # the interactive priority - 6, the helper threads that respond to requests
 # will be running at the same priority as interactive jobs.
 COMMAND='chgjob job('$JOBNAME') runpty(6)'
 system $COMMAND

 # Enable multi threading
 export QIBM_MULTI_THREADED=Y
fi

# Get standard Java environment variables
if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
 BASEDIR="$CATALINA_HOME"
 . "$CATALINA_HOME"/bin/setclasspath.sh
else
 echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
 echo "This file is needed to run this program"
 exit 1
fi

# Add on extra jar files to CLASSPATH
if [ -n "$JSSE_HOME" ]; then
 
CLASSPATH="$CLASSPATH":"$JSSE_HOME"/lib/jcert.jar:"$JSSE_HOME"/lib/jnet.jar:"$JSSE_HOME"/lib/jsse.jar
fi
CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/bootstrap.jar:"$CATALINA_HOME"/bin/commons-logging-api.jar

if [ -z "$CATALINA_BASE" ] ; then
 CATALINA_BASE="$CATALINA_HOME"
fi

if [ -z "$CATALINA_TMPDIR" ] ; then
 # Define the java.io.tmpdir to use for Catalina
 CATALINA_TMPDIR="$CATALINA_BASE"/temp
fi

# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
 JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
 CATALINA_HOME=`cygpath --absolute --windows "$CATALINA_HOME"`
 CATALINA_BASE=`cygpath --absolute --windows "$CATALINA_BASE"`
 CATALINA_TMPDIR=`cygpath --absolute --windows "$CATALINA_TMPDIR"`
 CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
 [ -n "$JSSE_HOME" ] && JSSE_HOME=`cygpath --absolute --windows "$JSSE_HOME"`
 JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
fi

# ----- Execute The Requested Command -----------------------------------------

echo "Using CATALINA_BASE:   $CATALINA_BASE"
echo "Using CATALINA_HOME:   $CATALINA_HOME"
echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"
echo "Using JAVA_HOME:       $JAVA_HOME"

if [ "$1" = "jpda" ] ; then
 if [ -z "$JPDA_TRANSPORT" ]; then
   JPDA_TRANSPORT="dt_socket"
 fi
 if [ -z "$JPDA_ADDRESS" ]; then
   JPDA_ADDRESS="8000"
 fi
 if [ -z "$JPDA_OPTS" ]; then
   JPDA_OPTS="-Xdebug 
-Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=n"
 fi
 CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
 shift
fi

if [ "$1" = "debug" ] ; then

 if $os400; then
   echo "Debug command not available on OS400"
   exit 1
 else
   shift
   if [ "$1" = "-security" ] ; then
     echo "Using Security Manager"
     shift
     exec "$_RUNJDB" $JAVA_OPTS $CATALINA_OPTS \
       -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
       -sourcepath "$CATALINA_HOME"/../../jakarta-tomcat-catalina/catalina/src/share \
       -Djava.security.manager \
       -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
       -Dcatalina.base="$CATALINA_BASE" \
       -Dcatalina.home="$CATALINA_HOME" \
       -Djava.io.tmpdir="$CATALINA_TMPDIR" \
       org.apache.catalina.startup.Bootstrap "$@" start
   else
     exec "$_RUNJDB" $JAVA_OPTS $CATALINA_OPTS \
       -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
       -sourcepath "$CATALINA_HOME"/../../jakarta-tomcat-catalina/catalina/src/share \
       -Dcatalina.base="$CATALINA_BASE" \
       -Dcatalina.home="$CATALINA_HOME" \
       -Djava.io.tmpdir="$CATALINA_TMPDIR" \
       org.apache.catalina.startup.Bootstrap "$@" start
   fi
 fi

elif [ "$1" = "run" ]; then

 shift
 if [ "$1" = "-security" ] ; then
   echo "Using Security Manager"
   shift
   exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
     -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
     -Djava.security.manager \
     -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
     -Dcatalina.base="$CATALINA_BASE" \
     -Dcatalina.home="$CATALINA_HOME" \
     -Djava.io.tmpdir="$CATALINA_TMPDIR" \
     org.apache.catalina.startup.Bootstrap "$@" start
 else
   exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
     -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
     -Dcatalina.base="$CATALINA_BASE" \
     -Dcatalina.home="$CATALINA_HOME" \
     -Djava.io.tmpdir="$CATALINA_TMPDIR" \
     org.apache.catalina.startup.Bootstrap "$@" start
 fi

elif [ "$1" = "start" ] ; then

 shift
 touch "$CATALINA_BASE"/logs/catalina.out
 if [ "$1" = "-security" ] ; then
   echo "Using Security Manager"
   shift
   "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
     -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
     -Djava.security.manager \
     -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
     -Dcatalina.base="$CATALINA_BASE" \
     -Dcatalina.home="$CATALINA_HOME" \
     -Djava.io.tmpdir="$CATALINA_TMPDIR" \
     org.apache.catalina.startup.Bootstrap "$@" start \
     >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &

     if [ ! -z "$CATALINA_PID" ]; then
       echo $! > $CATALINA_PID
     fi
 else
   "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
     -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
     -Dcatalina.base="$CATALINA_BASE" \
     -Dcatalina.home="$CATALINA_HOME" \
     -Djava.io.tmpdir="$CATALINA_TMPDIR" \
     org.apache.catalina.startup.Bootstrap "$@" start \
     >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &

     if [ ! -z "$CATALINA_PID" ]; then
       echo $! > $CATALINA_PID
     fi
 fi

elif [ "$1" = "stop" ] ; then

 shift
 FORCE=0
 if [ "$1" = "-force" ]; then
   shift
   FORCE=1
 fi

 "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
   -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
   -Dcatalina.base="$CATALINA_BASE" \
   -Dcatalina.home="$CATALINA_HOME" \
   -Djava.io.tmpdir="$CATALINA_TMPDIR" \
   org.apache.catalina.startup.Bootstrap "$@" stop

 if [ $FORCE -eq 1 ]; then
   if [ ! -z "$CATALINA_PID" ]; then
      echo "Killing: `cat $CATALINA_PID`"
      kill -9 `cat $CATALINA_PID`
   fi
 fi

elif [ "$1" = "version" ] ; then

   "$_RUNJAVA"   \
     -classpath "$CATALINA_HOME/server/lib/catalina.jar" \
     org.apache.catalina.util.ServerInfo

else

 echo "Usage: catalina.sh ( commands ... )"
 echo "commands:"
 if $os400; then
   echo "  debug             Start Catalina in a debugger (not available on OS400)"
   echo "  debug -security   Debug Catalina with a security manager (not available on 
OS400)"
 else
   echo "  debug             Start Catalina in a debugger"
   echo "  debug -security   Debug Catalina with a security manager"
 fi
 echo "  jpda start        Start Catalina under JPDA debugger"
 echo "  run               Start Catalina in the current window"
 echo "  run -security     Start in the current window with security manager"
 echo "  start             Start Catalina in a separate window"
 echo "  start -security   Start in a separate window with security manager"
 echo "  stop              Stop Catalina"
 echo "  stop -force       Stop Catalina (followed by kill -KILL)"
 echo "  version           What version of tomcat are you running?"
 exit 1

fi


------------------------------------------------------------------------

#!/bin/sh
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
#
# $Id: startup.sh,v 1.3 2002/08/04 18:19:43 patrickl Exp $
# -----------------------------------------------------------------------------

# resolve links - $0 may be a softlink
PRG="$0"

while [ -h "$PRG" ] ; do
 ls=`ls -ld "$PRG"`
 link=`expr "$ls" : '.*-> \(.*\)$'`
 if expr "$link" : '.*/.*' > /dev/null; then
   PRG="$link"
 else
   PRG=`dirname "$PRG"`/"$link"
 fi
done

PRGDIR=`dirname "$PRG"`
EXECUTABLE=catalina.sh

# Check that target executable exists
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
 echo "Cannot find $PRGDIR/$EXECUTABLE"
 echo "This file is needed to run this program"
 exit 1
fi

exec "$PRGDIR"/"$EXECUTABLE" run "$@"



------------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to