redémarrer le serveur tomcat en tant qu'utilisateur non root

1

info: Apache Tomcat / 6.0.36 CentOS 2.6.32-279.14.1.el6.x86_64

C'est possible? Une personne de l'ancienne version de Tomcat disposait d'un outil de gestion permettant aux utilisateurs non privilégiés de redémarrer le serveur. J'ai vérifié le gestionnaire, mais je ne vois que des options pour désactiver les applications qui s'exécutent sur le serveur, mais le serveur lui-même.

punaise
la source

Réponses:

0

Je me suis installé pour la solution de contournement de setuid décrite sur le wiki de tomcat.

Another method is to use SetUID scripts (assuming you have the capability) to do this. Here's how I do it.

Create a file called foo.c with this content (replace "/path/startupscript" with the tomcat startup script):

#include <unistd.h> #include <stdlib.h>

int main( int argc, char *argv[] ) {

if ( setuid( 0 ) != 0 ) perror( "setuid() error" ); printf( "Starting ${APPLICATION}\n" ); execl( "/bin/sh", "sh", "/path/startupscript", 0 ); return 1; 

}

Run the following as root (replacing tmp with whatever you want the startup script to be and replacing XXXXX with whatever group you want to be able to start and stop tomcat:

gcc tmp.c -o tmp chown root:XXXXX tmp chmod ugo-rwx tmp chmod u+rwxs,g+rx tmp

Now members of the tomcat group should be able to start and stop tomcat. One caveat though, you need to ensure that that your tomcat startup script is not writable by anyone other than root, otherwise your users will be able to insert commands into the script and have them run as root (very big security hole).

source: http://wiki.apache.org/tomcat/HowTo#How_to_run_Tomcat_without_root_privileges.3F

punaise
la source