Ejecutar un comando como usuario nologin


43

Recientemente configuré mi servidor para que mis usuarios 'virtuales' de suPHP no puedan iniciar sesión utilizando este artículo

Mi problema ahora es que antes, cuando ejecutaba un rakecomando para mi aplicación Ruby on Rails que se ejecutaba en el servidor, solía suentrar www-datay ejecutar el comando desde allí, obviamente ya no puedo hacerlo debido al nologin.

Entonces, como usuario root, ¿cómo puedo ejecutar comandos como otros usuarios, incluso si son nologin?


Una forma es iniciar un shell para ese usuario (especificando explícitamente el shell): sudo -u www-data bashejecute sus comandos y cierre la sesión
cyberx86

@ cyberx86 Su solución funciona de maravilla, ¿podría enviarla como una respuesta para mí?

Respuestas:


50

Una forma es lanzar un shell para ese usuario (especificando explícitamente el shell):

sudo -u www-data bash 

Esto lanzará un shell (bash) como el usuario especificado. Luego puede ejecutar sus comandos y cerrar sesión (para volver a su shell anterior)


39

Como root puede usar su -s /bin/sh $user : la -sopción anula el shell configurado para el usuario.


1
Esto siempre parece un error para mí.

Funciona muy bien para mí, nunca tuve un problema. Al ejecutar scripts con necesidades de sintaxis bash / bin / bash en lugar de / bin / sh
ekerner
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.