3 votos

En Solaris, ¿cómo puedo verificar una contraseña de usuario para una cuenta que está configurada como / sbin / nologin?

Tengo una cuenta que solo se usa para llamadas remotas desde un servidor de aplicaciones WebSphere para acceder a una tabla en una base de datos DB2. La cuenta está configurada como / sbin / nologin, por lo que no puedo demandar para desafiar la contraseña. ¿Cómo puedo verificar la contraseña?

1voto

HBruijn Puntos 16577

Estoy más familiarizado con Linux, pero yo creo que tanto OS es el efecto de la /sbin/nologin shell es similar y sólo se hace evidente después del éxito de la validación de la contraseña y todavía se puede distinguir, sin privilegios de administrador, si usted tiene la contraseña correcta o no.

Cuando intenta iniciar sesión con una sesión de SSH y se introduce una contraseña incorrecta, usted obtiene un mensaje de denegación de permiso y una nueva contraseña del sistema para intentarlo de nuevo, pero después de que la contraseña correcta, usted no verá un nuevo indicador de solicitud de contraseña, pero la sesión será cerrado inmediatamente (En mi host de Linux con un mensaje de que la cuenta no está disponible actualmente).

$ ssh serverfault@localhost
serverfault@localhost's password:     ***incorrect password***
Permission denied, please try again.
serverfault@localhost's password:     ***incorrect password***
Permission denied, please try again.

ssh serverfault@localhost
serverfault@localhost's password:     ***correct password***
Last failed login: Tue Apr  9 08:32:14 CEST 2019 from localhost on ssh:notty
There were 2 failed login attempts since the last successful login.
This account is currently not available.
Connection to localhost closed.

$ su - serverfault
Password:           ***incorrect password***
su: Authentication failure


$ su - serverfault
Password:
Last failed login: Tue Apr  9 08:32:14 CEST 2019 from localhost on ssh:notty
There were 2 failed login attempts since the last successful login.
This account is currently not available.

0voto

John Mahowald Puntos 76

Usted sabe que el hash de la contraseña. Si usted tiene un usuario con privilegios puede comprobar y establecer la contraseña en /etc/shadow directamente. Un hack, pero que es lo que por ejemplo Ansible hace para automatizar el cambio de contraseñas en Solaris.

Ansible playbook pide contraseña y garantizar existe el usuario con la contraseña:

---

- name: https://serverfault.com/questions/962070/in-solaris-how-can-i-verify-a-user-password-for-an-account-that-is-set-as-sbin
  hosts: solaris

  vars:
    service_user: "app"

  vars_prompt:
  - name: "ServiceUserPasswordHash"
    prompt: "Enter password for user {{service_user}} "
    private: True
    encrypt: "sha256_crypt"
    salt: "{{ 65534 | random(seed=service_user) | string }}"

  tasks:
  - name: Create service user
    become: True
    user:
      name: "{{service_user}}"
      comment: "Service account"
      password: "{{ServiceUserPasswordHash}}"
      update_password: "always"
      shell: "/bin/false"

No podía encontrar un nologin en OpenIndiana 20181023. /bin/false funciona, pero no se imprime nada para el usuario.

La sal I cabeza de serie del nombre de usuario. No muy aleatorio, pero no cambiará de cada carrera.

Si usted no desea que se le solicite la contraseña, pero la mirada de algunos de los secretos de la tienda, determinar el hash con la password_hash filtro en lugar de vars_prompt.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: