Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

173
Vistas
How to execute a command on behalf of a user if login is denied

I need to run tomcat on behalf of tomcat user. But in /etc/passwd I have the following line:

tomcat:x:505:506::/usr/share/tomcat:/bin/nologin

So when I try to do this: sudo su tomcat ./bin/startup.sh

It complains about: su: /bin/nologin: No such file or directory

How do I execute the command with proper permissions?

Thanks in advance!

P.S. I'm trying to reverse engineer the configuration and it's production. So I have to be delicate...

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Try running:

sudo -u tomcat ./bin/startup.sh

By avoiding su you avoid trying to invoke the user's login shell.

over 4 years ago · Santiago Trujillo Denunciar

0

You can specify shell with -s option

sudo su -s /bin/bash -c ./bin/startup.sh tomcat
over 4 years ago · Santiago Trujillo Denunciar

0

actually, the best way to do this is via runuser

the man page is here http://man7.org/linux/man-pages/man1/runuser.1.html

this tool is used to deal with the situation as the developer said in his bolg

Whenever an service is running as root and wants to change UID using the shell it should use runuser.

http://danwalsh.livejournal.com/55588.html

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda