# su -l www-data ./http-app.py
This account is currently not available.
# su -l www-data -c ./http-app.py
This account is currently not available.
# su -c ./http-app.py www-data
This account is currently not available.
# su -lc ./http-app.py www-data
This account is currently not available.
# getent passwd www-data
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
# getent shadow www-data
www-data:*:16842:0:99999:7:::
# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.6 (jessie)
Release: 8.6
Codename: jessie
¿Qué le pasa a mi suo www-data? Solía funcionar ...
Presumiblemente esto se debe a la /usr/sbin/nologin, pero ¿cómo puedo abandonar rooteste script, sin comprometer otros servicios en el sistema ( nologinha sido elegido por el Debianequipo por una buena razón, quiero creer)?

/bin/shse usa de forma predeterminada y debe especificar la-sopción solo si desea cambiar a/bin/basho similar.su www-data -s /bin/shpara volver a la raíz simplemente escribasu.Está utilizando el
suque se utiliza para "cambiar de usuario". Por supuesto, no funcionará porquewww-dataes una cuenta de usuario que no se puede usar para iniciar sesión. Usted ha dicho que:/usr/sbin/nologin.Quizás lo que quiere es lo
sudoque se usa para "ejecutar un comando como otro usuario".fuente
supara este propósito y siempre solía funcionar.sudoes un paquete adicional para instalar, pero tienes razón, puedo usarlo para lograr lo que quiero.Si desea no solo ejecutar un comando, sino cambiar a
www-datapara probar algunas cosas para ese usuario, esto funcionó para mí:Es un poco más corto. Salga de la sesión con [ctrl] + [d] o
exitfuente
Con este tipo de problema he usado la opción
-p:-p: se preserva el medio ambiente. En particular no se trate de inicio de sesión con la nueva cuenta, por lo que no recibe el mensaje:
This account is currently not available..fuente