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).

Karl
fuente
¿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
mrc
fuente
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


fuente
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.