Saltar al contenido

uso de gnome-keyring-daemon sin X

Si te encuentras con alguna parte que no comprendes puedes dejarnos un comentario y trataremos de ayudarte lo más rápido posible.

Solución:

Puedes usar pam_gnome_keyring.so para iniciar y desbloquear el daemon. GDM ya hace esto; por login, debe configurarlo manualmente.

Añade estas líneas a /etc/pam.d/login:

auth     optional  pam_gnome_keyring.so
session  optional  pam_gnome_keyring.so auto_start

Si inicia sesión sin contraseña (SSH con Kerberos o público keys), esta mayo trabajo: (no lo he probado)

echo -n "mypassword" | gnome-keyring-daemon --login

(Todavía necesita que el daemon se esté ejecutando, ya sea iniciado a través de PAM o con --daemonize.)

Sinopsis

Los trabajos necesarios para instalar svn con soporte para llavero e instalar la aplicación Collabnet keyring_tool ya se han realizado para nuestros servidores Linux.

1) Configure el cliente SVN para usar el llavero:

1.1) Editar ~/.subversion/config

[auth]
password-stores = gnome-keyring

1.2) Editar ~/.subversion/servidores

[global]
store-passwords = yes
store-plaintext-passwords = no

2) Cree un llavero para su contraseña. Se le pedirá que cree una nueva contraseña para desbloquear el llavero; esto puede ser lo que quieras:

keyring_tool --create=svn

3) Configure el nuevo llavero como predeterminado:

keyring_tool --setdef=svn

4) En .bash_profile o .bash_login (asumiendo que está usando bash como su terminal)

    if [ -e /usr/bin/gnome-keyring-daemon ]; then
      if [ ! -z "`kill -0 $GNOME_KEYRING_PID 2>&1`" ]; then
        # Create dbus transport link for SVN to talk to the keyring.
        eval `dbus-launch --sh-syntax`

        # Start the keyring daemon.
        # The use of export here captures the GNOME_KEYRING_PID, GNOME_KEYRING_SOCK
        # env values echoed out at startup.
        export `/usr/bin/gnome-keyring-daemon`
      fi
    fi

5) En .bash_logout

    # Kill the message bus established for SVN / Keyring communication
    if [ ! -z "`kill -0 $DBUS_SESSION_BUS_PID 2>&1`" ]; then
      kill $DBUS_SESSION_BUS_PID > /dev/null 2>&1
    fi

    # Kill the Gnome Keyring Daemon prior to logout.
    if [ ! -z "`kill -0 $GNOME_KEYRING_PID 2>&1`" ]; then
      kill $GNOME_KEYRING_PID > /dev/null 2>&1
    fi

Fondo

Me encontré con un problema similar al intentar establecer una forma sin problemas de garantizar el acceso de usuarios autorizados a ciertos repositorios SVN en el trabajo. Básicamente, teníamos que forzar la verificación de credenciales cada vez que un usuario accede al servidor, por lo que incluso el comando de actualización svn requeriría autenticación. Claramente, el almacenamiento de contraseñas de texto sin formato no estaba disponible, por lo que con un poco de investigación encontré el uso del llavero de gnomos como una forma de acosar a nuestra base de usuarios con solicitudes de autenticación constantes y al mismo tiempo mantener a los usuarios no autorizados fuera de los repositorios a los que no deberían tener acceso para ver.

Gran parte de nuestro trabajo diario se realiza a través de túneles ssh en un servidor RedHat sin compatibilidad con X, por lo que tuve que encontrar una forma de evitar la compatibilidad con X11. Después de buscar un poco, logré encontrar la forma de evitarlo aquí:

Material de origen

http://support.wandisco.com/index.php?/Knowledgebase/Article/View/362/17/how-to-setup-encrypted-svn-password-storage-using-gnome-keyring-in-an-ssh -sesión

Ellos key aquí está usando Collabnet keyring_tool para crear un llavero sin el cliente gnome-keyring-manager y establecer el inicio de dbus usted mismo en lugar de dejar que SVN maneje la configuración. SVN usa DBUS para conectarse al gnome-keyring-daemon y afectar la autenticación general. Al iniciar y eliminar manualmente la sesión de dbus con la sintaxis -sh, evita intentar conectarse a un cliente X en el inicio de dbus. Si simplemente inicia gnome-keyring-daemon e intenta usar SVN, aún le solicitará su contraseña de conjunto de claves, pero luego también le solicitará sus credenciales de SVN. El dbus fallará cuando SVN intente iniciarlo debido a la falta de un cliente X; aparentemente SVN no usa ningún indicador especial al iniciar el dbus.

Nos puedes amparar nuestra tarea ejecutando un comentario y puntuándolo te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *