Error "Esta cuenta no está disponible actualmente" al intentar ssh

46

Se produce un error cuando intento establecer una conexión SSH:

$ ssh -p 22 [email protected] 
This account is currently not available
Mert Özoğul
fuente

Respuestas:

59

Obtendrá el This account is currently not available.error porque el shell para el usuario www-dataestá configurado /usr/sbin/nologiny está configurado por una muy buena razón. No debe iniciar sesión ya www-dataque es un usuario / grupo especial utilizado por el servidor web, no destinado para el uso regular de shell.

EDITAR : es una idea especialmente mala para dar sudoderechos www-data. Si Apache estuviera destinado a ejecutarse con permisos de root, no tendría su propio grupo. Al hacer esto, está creando enormes agujeros de seguridad. Usted ha sido advertido.

kraxor
fuente
55
Eso no es muy constructivo. ¿Qué información crees que debería agregar para mejorar esta respuesta?
kraxor
44
@kraxor es correcto, pero si debe hacerlo, puede iniciar sesión como root y cambiar / usr / sbin / nologin en / etc / passwd a / bin / bash y le otorgará acceso de shell a ese usuario. Hago esto cuando solo ejecuto un binario instantáneo como mi servidor web. www-data generalmente está reservado para nginx / apache en ubuntu, por lo tanto, no hay estado de inicio de sesión.
engineerDave
44
@RyanNerd Es su elección no "dar una rata a $$ por basura de seguridad". No se recomienda ejecutar todo como root ni siquiera dentro de Docker. Por supuesto, puede configurar Apache para que se ejecute rooto agregar un shell de inicio de sesión www-data, pero eso es como abrir una botella de vino rompiendo la botella porque es demasiado vago y descuidado para usar un tornillo de corcho.
kraxor
@kraxor tu enlace a la ventana acoplable no está actualizado. TODO aún es propiedad de root en Docker y sigue siendo un problema .
RyanNerd
Tengo un caso similar Quiero ejecutar LibreOffice en modo sin cabeza de manera que pueda ser invocado por un script PHP para convertir documentos y que pueda escribir archivos en el disco como www-data porque estos archivos luego deben ser eliminados por www-data (parte de un script PHP) para limpiarlos. Esto (lanzar un LibreOffice sin cabeza como usuario www-data) solía funcionar en versiones anteriores de Ubuntu, y entiendo que esta es una mejora de seguridad con respecto a estas versiones anteriores.
ywarnier
57

Si bien estoy de acuerdo con los demás en que permitir el inicio de sesión a través de SSH a través del usuario www-data es generalmente una mala idea, una vez que haya iniciado sesión con un usuario normal, puede ser útil ejecutar múltiples comandos simultáneamente con los permisos establecidos en www- usuario de datos. En ese caso, uno puede correr

sudo su -l www-data -s /bin/bash

y podrá acceder a sus archivos como usuario de www-data.

D. Scott Boggs
fuente
3
Muy útil para depurar permisos para un usuario de servicio / demonio
jmng
acabas de salvar mi día gracias! Tuve problemas para iniciar el servicio perl-fcgi porque el script de inicio no estaba usando-s /bin/bash
Couitchy
-1

La primera pregunta que tendría que hacer es, ¿qué estás tratando de lograr al hacer esto?

kraxor es 100% correcto, nunca debería poder ingresar a su servidor utilizando su usuario Apache / Nginx. Hacerlo invita a todos los piratas informáticos con media célula cerebral a su servidor.

Si necesita ejecutar un script o algún programa como ese usuario, puede intentarlo sudo -u www-data yourscripto puede chownhacerlo temporalmente en el archivo a un usuario con privilegios de inicio de sesión. Es una mala idea variar permitir a esta cuenta ese tipo de acceso.

TheStarvingGeek
fuente
66
Debe saber que su -no funciona para cuentas con inicio de sesión deshabilitado.
sorin
¿Qué cuenta está deshabilitada? No dice nada sobre la cuenta que se deshabilitó
TheStarvingGeek
1
Bueno, tener nologin en passwd significa inicio de sesión deshabilitado :)
sorin
1
Es una cuenta de servicio, no una cuenta deshabilitada, puede ejecutar comandos debajo de ella
TheStarvingGeek
Mi servidor no parece conocer esa distinción @TheStarvingGeek
LovesTha