¿Cuál es una buena alternativa al comando sux?

13

Con la próxima versión 14.04, sux (envoltorio alrededor de su que transferirá sus credenciales X) ya no se incluye en Ubuntu. (Creo que se está eliminando porque se está extrayendo de Debian, debido a que no se mantiene el código original).

Estoy buscando alternativas simples, no algo que requiera que juegues con los archivos de configuración o ejecutes sshd localmente.

Søren
fuente
Revisores: Esto no está fuera de tema, no tiene nada que ver con 14.04.
Seth
¿Realmente necesitas esto? Si las opciones de sudoers están configuradas de la misma manera (es decir, que sudo conserva HOME cuando cambia las identidades), no debería ser necesario hacer nada especial con .Xauthority. Así es como está configurada mi computadora portátil, y nunca uso sux ... solo 'sudo {command}'
Stabledog
@Stabledog, ¿cómo funcionaría eso? ¿Dónde pondría eso? ¿Hay un archivo de configuración de sudo? Mi objetivo es iniciar sesión en el escritorio del usuario A y luego obtener un terminal como usuario B, donde todas las x pasan al escritorio. Espero que tenga sentido ... Ejemplo de lo que podría hacer ahora con sux, que necesito alternativas para: El usuario A inicia sesión y abre la terminal A @ escritorio: ~ $ sux - BB @ escritorio: ~ $ firefox Firefox se abre, pero con configuración del usuario B, marcadores y acceso a archivos al directorio de inicio del usuario B.
Søren
Sí, hago ese tipo de cosas todo el tiempo. Hay 2 cosas que debe entender: ~ / .Xauthority para el usuario "externo" también debe convertirse en .Xauthority para el usuario interno, y la configuración de la variable DISPLAY por ssh debe coincidir en el shell interno. Entonces, podría, por ejemplo, copiar el archivo ~ / .Xauthority de '/ home / tom' a / home / jerry, arreglar los permisos, establecer el valor DISPLAY en el shell 'jerry'. Al iniciar un programa X como jerry, el valor DISPLAY indicaría a las bibliotecas X cómo encontrar la pantalla, y el archivo .Xauthority en / home / jerry le daría los datos de autenticación.
Stabledog
Pero eso es complicado de hacer en cada inicio de sesión. Es más limpio arreglar sus / etc / sudoers para que los valores HOME y DISPLAY de tom se conserven cuando hace un 'sudo -u jerry bash' para abrir un shell como jerry. Hay comentarios en sudoers que explican cómo propagar variables de entorno a través de una llamada sudo. ¡Asegúrate de usar visudo al editar sudeors para que no te bloquees de la máquina si te equivocas!
Stabledog

Respuestas:

10

También me entristeció ver que no había una alternativa fácil al suxprincipio, pero terminé con esto:

  • en /etc/pam.d/su, para reenviar claves xauth entre usuarios al llamar a su, agregue: session optional pam_xauth.so

  • en ~ olivier / .bashrc: export $(dbus-launch) (no estoy seguro de que sea realmente necesario)

  • y luego un simple su olivierde mi usuario conectado
olivm
fuente
1
Obtengo "No protocolo especificado" cuando "su" después de hacer esto
Claudiu
-1
  • Descargue sux desde aquí http://fgouget.free.fr/index-en.shtml
  • Copie sux al directorio en su ruta (/ usr / local / bin por ejemplo)
  • Cambie los permisos a ejecutable (chmod 755 sux), no sé si estos permisos son los ritgh
  • Reemplazar / bin / sh por / bin / bash

Mi sistema es debian 10

Saludos

user999562
fuente
1
Hola y bienvenidos a AskUbuntu. Como sugiere el nombre de dominio, este sitio trata sobre Ubuntu. ¿Su solución funciona en Ubuntu? ¿Por qué requiere el reemplazo de /bin/shcon /bin/bash?
Simon Sudler