1 votes

Redémarrer tomcat à distance

J'essaie de redémarrer mon tomcat version 5 sur un serveur centos depuis ma boîte de développement. Je peux me connecter en tant qu'utilisateur normal (pas root) mais j'ai besoin de pouvoir redémarrer le service. Il y a un fichier de configuration que je peux modifier ou un groupe dans lequel mon utilisateur doit être pour pouvoir redémarrer le service tomcat5 ?

EDIT : Je vais exécuter cette tâche dans Ant, et sudo ne fonctionnera pas pour cela car Ant ne vous donne pas de terminal virtuel.

EDIT Le problème est le suivant : voici l'erreur lorsque j'essaie de redémarrer tomcat en tant que root via ant.

ssh root@server.com /sbin/service tomcat5 restart

restartTomcat:
 [exec] Pseudo-terminal will not be allocated because stdin is not a terminal.

Il est exécuté en tant que root, qui a les privilèges ssh. La commande telle quelle fonctionne bien.

EDIT

vi /etc/sudoers (EDIT: please use visudo instead)
comment out: #Default requiretty

Ceci corrige l'élément tty. Il fonctionne maintenant comme l'utilisateur normal.

Voici ma cible de fourmis

<target name="restartTomcat">
  <exec executable="/usr/bin/ssh">
    <arg line="user@server.com sudo /sbin/service tomcat5 restart"/>
  </exec>
</target>

3voto

Christian Deger Points 503

Si le serveur a sudo installé, vous pouvez vous ajouter au fichier sudoers (en utilisant l'option visudo ) - vous pouvez tout autoriser, ou seulement cette commande particulière. Utilisez ensuite sudo somecommand pour l'exécuter avec les privilèges de root.

Mais quelle que soit la méthode utilisée, vous devrez vous connecter en tant que root au moins une fois - ou demander à quelqu'un d'autre de se connecter en tant que root.

編集する: sudo dispose d'une option sans mot de passe ( NOPASSWD dans sudoers), qui ne nécessite pas de tty (si je me souviens bien).

2voto

Slick Points 1051

Si vous rencontrez des problèmes lors de l'utilisation de sudo et que vous obtenez un message comme celui-ci :

sudo: sorry, you must have a tty to run sudo

Dans ce cas, vous devriez faire un commentaire :

Defaults    requiretty

A l'intérieur /etc/sudoers . Étant donné que RHEL/CentOS est livré avec cette option activée par défaut.

1voto

niXar Points 2023

Demandez à l'administrateur d'ajouter "/etc/init.d/tomcat" à la liste des commandes que vous pouvez exécuter sans mot de passe. peut sudo sans pty :

yourname machinename=(ALL) NOPASSWD:/etc/init.d/tomcat

Il y a bien d'autres façons de faire ce que vous demandez, c'est difficile.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X