Ejecutar como un usuario diferente


9

En un sistema RedHat, estoy intentando iniciar un programa con un usuario diferente que no tiene ningún shell. En / etc / passwd, el shell es / sbin / nologin.

Yo he tratado:

  1. su myuser -c /home/myuser/script.sh Resultado: esta cuenta no está disponible actualmente.

  2. Con chown y setuid: chown myuser: mygroup /home/myuser/script.sh chmod + s /home/myuser/script.sh /home/myuser/script.sh Resultado: script.sh aún se ejecuta como mi usuario registrado ( raíz).


¿Está ejecutando sucomo root o un usuario sin privilegios?
James O'Gorman el

Respuestas:


17

tratar:

su myuser -s /bin/sh -c /home/myuser/script.sh

0

este error significa que en / etc / passwd ha configurado shell / sbin / nologin o / sbin / false para el usuario myuser.

Establezca algo útil como / bin / bash


Eso es lo que el OP ya publicado estaba sucediendo; OP pregunta si hay una manera de ejecutar el programa a pesar de que el nombre de usuario no tiene shell.
Bart Silverstrim

Sí ... es la pregunta de hecho. Me gustaría saber si es posible ejecutar un script como un usuario diferente, sin configurar un shell en / etc / passwd
Karl

1
No puede hacerlo usando un script si el usuario tiene un shell como este.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.