He leído muchos hilos sobre la eliminación de gksu de muchos sabores de Linux, incluido Ubuntu 18.04. Muchos afirman que gksu es una abominación y que ningún usuario debería necesitar usar algo así. Tengo 2 ejemplos en los que, hasta donde sé, debo tener algo que me permita ejecutar como root (no solo para editar archivos).
Primero, necesito iniciar mysql solo después de abrir una carpeta cifrada en el comando (GUI). Esto significa tener un script ejecutado por el sistema de cifrado que inicia el servicio mysql. Eso tiene que hacerse como root, por lo que uso gksu en ese script de inicio que me pide una contraseña. ¿De qué otra forma puedo iniciar un servicio desde un sistema GUI?
También ejecuto las copias de seguridad del sistema Ubuntu como root, de lo contrario no se pueden hacer copias de seguridad de muchos archivos del sistema. Entonces, el archivo de escritorio usa gksu para iniciar la copia de seguridad.
pkexec parece complicado, necesita archivos de políticas. ¿Es esa la única alternativa, y si es así, por qué es más seguro?
Otras respuestas a preguntas similares no parecen abordar problemas individuales que las personas tienen ahora que gksu ya no existe (o es más difícil de encontrar ...). Creo que tales preguntas de usuarios no expertos se beneficiarían de respuestas más detalladas. Ahora tengo algunos, por lo que me gustaría responder a mi propia pregunta.
pkexec
Funciona para ti en lugar degksu
?pkexec
. (tienes que buscarlo)sudo -H GUI-program
y si Wayland tiene este enlace, eso podría ser útil ... hay soluciones, si tiene una herramienta GUI, que funcione bien para usted y necesite permisos elevados.Respuestas:
Encontré este comando
en la página a continuación:
https://sites.google.com/site/installationubuntu/home/ubuntu-17-10/alternatives-for-gksu-and-gksudo
fuente
Sé que se dice que hay respuestas a esto en otros lugares, pero no he encontrado ninguna de ellas lo suficientemente clara y simple para que pueda resolver este problema. Así que busqué en muchos lugares y se me ocurrió esto. Todavía no entiendo por qué la comunidad Linux ha decidido hacernos la vida tan difícil a los usuarios simples de escritorio (y he tratado de entender muchas explicaciones), pero así es la vida. Uso la GUI para casi todo, solo uso la ventana de terminal cuando es necesario. Por lo que puedo decir, las soluciones que usan opciones de sudo no ayudan con esto. Así que tengo
.desktop
archivos y scripts que hacen todos los trabajos que uso regularmente.Hay dos soluciones básicas.
1. Vuelva a instalar
gksu
Esta solución puede o no durar. Los técnicos anti-gksu pueden encontrar una manera de detenerlo. Pero mientras tanto, descargue 2
.deb
archivos de libgksu (x64) y gksu (x64) . Instale libgksu2 y luego gksu usando gdebi o cualquier herramienta de instalación que quiera usar. Esto funcionó para mí.2. Uso
pkexec
Como una solución (con suerte) a más largo plazo, logré que pkexec funcione para las herramientas que necesito.
Para iniciar un servicio desde un script. Resulta que ni gksu ni pkexec son necesarios. Justo
start service xyz
y te pedirá tu contraseña.Para editar archivos raíz, o para abrir nautilus como root, vea Cómo ejecutar Gedit y Nautilus como root con pkexec en lugar de gksu - Web Upd8 . Esto proporciona dos archivos 'polkit' para pkexec, que le permiten usar un script que contiene
pkexec gedit
para editar un archivo raíz, y de manera similar para nautilus. Las instrucciones están todas en esa página web. Ahora estoy usando 'filemanager-actions' para proporcionar acciones de clic derecho para ejecutar gedit o nautilus como root.Ejecuto deja-dup como root para copias de seguridad del sistema central. Hago esto con poca frecuencia, excluyendo
/home
(porque/home
hago copias de seguridad frecuentes que no necesitan acceso root). Para que esto funcione, tomé una copia del archivo utilizado en el paso 2 para gedit y lo edité para deja-dup. Realmente no entiendo el contenido, pero funciona, tanto para copias de seguridad como para restaurar archivos, utilizandopkexec backup
un script iniciado desde un archivo .desktop. Agregué este nuevo archivo a/usr/share/polkit-1/actions
contener:Tenga en cuenta que hay otro archivo deja-dup en este directorio, que afirma ayudar con la restauración de archivos, pero no pude hacerlo funcionar. Este nuevo archivo debe tener un nombre único, como
org.gnome.DejaDupNew.policy
.Estoy, por ahora, corriendo sin gksu. Intentaré continuar ...
fuente
pkexec deja-dup
para mí, después de agregar el archivo como usted describió. El cuadro de diálogo me permite elegir primero la configuración, lo cual es genial./usr/share/polkit-1/actions
fue, de hecho, la forma de crear un iniciador de escritorio conpkexec
permisos elevados . Aquí hay otro ejemplo .Nautilus Admin ( nautilus-admin ) es una extensión simple de Python para el administrador de archivos Nautilus que agrega algunas acciones administrativas al menú contextual:
Para instalar Nautilus Admin en todas las versiones compatibles de Ubuntu, abra el terminal y escriba:
He probado todas las alternativas a gksu en 18.04 para otras aplicaciones además de Archivos y Gedit, y la que parece funcionar más consistentemente es:
pkexec
es el mejor reemplazo para gksu cuando funciona porque proporciona mayor seguridad, pero es muy inconsistente en diferentes aplicaciones (por ejemplo, no funciona con Gedit) y puede causar fallas en algunas aplicaciones.sudo -i
es innecesariamente difícil de administrar porque eleva sus privilegios para rootear durante un período prolongado de tiempo cuando solo necesita ser root para ejecutar un solo comando.fuente
Utilizo un script llamado
sgedit
que hereda las preferencias del usuario para la fuente, las pestañas y las extensiones. Se utiliza ensudo -H gedit
lugar degksu gedit
para la estabilidad en el entorno GUI. Solicita una contraseña.Haber
sudo
heredado lagedit
configuración de su cuenta de usuarioEn este ejemplo, la configuración de usuario para nombre de fuente, tamaño de fuente, tabulaciones, convertir pestañas en espacios, resaltado de 80 columnas y barra deslizante de miniaturas del lado derecho ha sido heredada por
sudo
.Con regular
sudo -H gedit
no puede hacer ni guardar estos ajustes de configuración. Con el siguiente script,sgedit
la configuración se hereda de su cuenta de usuario.Este script también aborda los problemas "
gksu
es malo y no está instalado por defecto" y "pkexec
es difícil de configurar".Fondo
Me ha molestado el mismo problema durante años. El proyecto de este fin de semana fue escribir el
sgedit
guión:sgedit filename1 filename2...
sudo -H
para preservar la propiedad del archivo mientras se obtienen poderes de raíz.gsettings set
en las diferencias (reduce 174set
comandos a una docena o menos. La próxima vez se ejecuta tal vez solo uno o dos cambios, pero a menudo ninguno.Guión Bash
sgedit
Gestión interna
Copie el script bash anterior a un nuevo archivo llamado
sgedit
. Recomiendo colocarlo en su$HOME/bin
directorio, es decir/home/YOURNAME/bin
. Es posible que primero deba crear el directorio.Marque el archivo como ejecutable usando:
Note
~
es un atajo para/home/YOURNAME
.fuente
Ubuntu 18.04: algunos programas de instalación y otros necesitan que gksudo o gksu estén disponibles con el mismo nombre. Para hacer que esto funcione:
Instale la versión gnome de
ssh-askpass
. Sin esto, el diálogo de contraseña puede estar oculto detrás de otra ventana:Crear nuevo archivo
my-gksudo.sh
:contenido del archivo:
Cree nuevos archivos gksudo y gksu con contenido idéntico:
y
contenido del archivo para ambos:
Hacer que gksudo y gksu sean ejecutables:
Y
Reinicia la computadora.
fuente