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.