Mi cuenta de usuario habitual es, digamos, usuario1. Creé user2 por separado para alguna aplicación x que me gustaría ejecutar mientras estoy conectado a x como user1 pero de una manera que evitará que tenga acceso de lectura / escritura a los datos de user1. Pensé que podría usar xauth y sudo / su para user2 desde user1 para ejecutar esta aplicación. ¿Cómo hago esto? No estoy seguro de cómo configurar xauth.
48
.Xauthority
archivo en el directorio de inicio de user2. Problema 2: de alguna manera y por alguna razón no entiendo, despuéssu
, XAUTHORITY mantiene la ruta del archivo a user1's. Pero ese archivo no es legible por el usuario2.unset XAUTHORITY
bajohexkey
en elxauth add
comando el mismo que desdexauth list
o tengo que crear uno nuevo al azar?Puse mi
.zshrc
línea conexport XAUTHORITY=~/.Xauthority
y ahora soy capaz de ejecutarsudo -E xcommand
. Después de mucho googlear, esta fue la forma más fácil para mí.fuente
sudo -E
(y el uso-E
está deshabilitado en la mayoría de las instalaciones predeterminadas) porque normalmente lasudoers
configuración predeterminada permitiríaXAUTHORITY
pasar la variable de entorno a sudo.-E
. Se puede establecer como una variable que se puede pasar, y Red Hat o Debian lo sugieren.Asumiendo debian o ubuntu (debería ser similar en Red Hat / SUSE).
fuente
sux
no se mantiene (y se elimina de los repositorios de Debian / Ubuntu): packages.qa.debian.org/s/sux/news/20140101T172633Z.htmlPrimero: no lo use
xhost +
, es bastante inseguro (permitir / rechazar).Más bien use el mecanismo X-Cookie:
Alternativamente, si lo ha
sux
instalado, úselo (vea la respuesta de ehempel).En ambos casos, user2 usará la cookie secreta en .Xauthority para autorizar al servidor X, y nadie más tendrá acceso a ella.
Notas:
.Xauthority
, también puede usarxauth
para extraer y copiar la clave de autorización (consulte la respuesta de Randall). Si tiene varias claves en el.Xauthority
archivo, esto es más selectivo; de lo contrario es cuestión de gustos.fuente
Esto solucionará el problema para todos los usuarios:
fuente
Como root:
Donde su nombre de usuario es su nombre de usuario :)
Luego haga su como su usuario
xclock
debería funcionar si está instaladofuente
Estos son solo hacks:
sleske anterior tiene, creo, la solución adecuada.
fuente
ssh -X
es una solución muy simple y elegante, que no depende de ningún material gtk / kde desaprobado / no mantenido (que requiere instalar más binarios con bit SUID ...).Encontré algo que me funciona muy bien en KDE
fuente
kde-cli-tools
, y no en$PATH
sino en/usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu
(obviamente, dependiendo de la arquitectura).De esta manera hecho en suse / opensuse: http://www.novell.com/support/kb/doc.php?id=7003743
Simplemente modificando /etc/pam.d/su, agregando la opción (negrita):
Entonces puede cambiar con su sin -:
y ejecuta la aplicación gráficamente.
fuente
Para GNOME (y sin ningún entorno de escritorio realmente, lo uso solo con icewm)
gksu
:fuente