Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Crear lanzadores con permisos de superusuario.

262 views
Skip to first unread message

Ramses

unread,
Mar 29, 2023, 4:10:06 PM3/29/23
to
Hola a tod@s,

Tengo estos dos lanzadores en mi Escritorio:

[Desktop Entry]
Name=Zenmap
GenericName=GUI Port Scanner
TryExec=zenmap
Exec=zenmap %F
Terminal=false
Icon=/usr/local/share/zenmap/pixmaps/zenmap.png
Type=Application
Categories=Application;Network;Security;
Comment=A cross-platform GUI for the Nmap Security Scanner.
Keywords=network;scan;scanner;IP;security;


[Desktop Entry]
Name=Zenmap (as root)
GenericName=GUI Port Scanner
TryExec=/usr/local/share/zenmap/su-to-zenmap.sh
Exec=/usr/local/share/zenmap/su-to-zenmap.sh %F
Terminal=false
Icon=/usr/local/share/zenmap/pixmaps/zenmap.png
Type=Application
Categories=Application;Network;Security;
Comment=A cross-platform GUI for the Nmap Security Scanner.
Keywords=network;scan;scanner;IP;security;

Si ejecuto el primero "Name=Zenmap", me dice que se está intentando ejecutar el programa con un usuario que no tiene permisos, y a continuación me lo abre.

Si ejecuto el segundo "Name=Zenmap (as root)", no hace nada.

Si en un terminal ejecuto esta línea "/usr/local/share/zenmap/su-to-zenmap.sh" del segundo, no hace nada, pero si en el terminal le antepongo el "sudo" a esa línea "sudo /usr/local/share/zenmap/su-to-zenmap.sh", se abre sin problemas.

He probado a ponerles "sudo" al principio de las lineas en los comandos de los lanzadores, pero me da error.

¿Alguna ayuda de cómo modificar loas lanzadores para que me los ejecute como root?


Saludos y gracias

Camaleón

unread,
Mar 30, 2023, 2:30:04 AM3/30/23
to
El 2023-03-29 a las 22:00 +0200, Ramses escribió:

> Tengo estos dos lanzadores en mi Escritorio:

(...)

> [Desktop Entry]
(...)
> Exec=zenmap %F

> [Desktop Entry]
(...)
> Exec=/usr/local/share/zenmap/su-to-zenmap.sh %F
>
> Si ejecuto el primero "Name=Zenmap", me dice que se está intentando ejecutar el programa con un usuario que no tiene permisos, y a continuación me lo abre.
>
> Si ejecuto el segundo "Name=Zenmap (as root)", no hace nada.
>
> Si en un terminal ejecuto esta línea "/usr/local/share/zenmap/su-to-zenmap.sh" del segundo, no hace nada, pero si en el terminal le antepongo el "sudo" a esa línea "sudo /usr/local/share/zenmap/su-to-zenmap.sh", se abre sin problemas.
>
> He probado a ponerles "sudo" al principio de las lineas en los comandos de los lanzadores, pero me da error.

Se trata de un bug conocido del paquete que además ya no lo veo
disponible en las nuevas versiones de Debian:

https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=zenmap;dist=unstable

> ¿Alguna ayuda de cómo modificar loas lanzadores para que me los ejecute como root?

Leyendo en contenido del guión que ejecuta zenmap como root, veo que
necesita gksu/kdesu/xterm (?), mira a ver tienes alguna de las 3
aplicaciones pero ya te adelanto que son MUY antiguas, en las versiones
actuales de Debian ya no se usan (están policykit, pkexec y demás
moderneces).

En cualquier caso, siempre podrás create un nuevo lanzador que se
ajuste a lo que tengas instalado, según la versión de Debian que
tengas.

Mira a ver si te sirve lo que indican por aquí:

Zenmap (as root) not working on Manjaro
https://github.com/nmap/nmap/issues/1874#issuecomment-770532361

Saludos,

--
Camaleón

Ramses

unread,
Mar 30, 2023, 5:40:04 AM3/30/23
to
Buenos días,

Ya había probado a anteponer el comando "pkexec" a la línea del comando editando el fichero del lanzador, pero me pone el lanzador con error, como no ejecutable.

¿Alguna otra idea, incluir "zenmap" en"sudo" de alguna forma para que al ejecutar el lanzador automáticamente se ejecute con otro usuario, es decir, como "root"?


Saludos y gracias

Camaleón

unread,
Mar 30, 2023, 6:00:04 AM3/30/23
to
> Buenos días,
>
> Ya había probado a anteponer el comando "pkexec" a la línea del comando editando el fichero del lanzador, pero me pone el lanzador con error, como no ejecutable.
>
> ¿Alguna otra idea, incluir "zenmap" en"sudo" de alguna forma para que al ejecutar el lanzador automáticamente se ejecute con otro usuario, es decir, como "root"?

¿Has probado lo que recomiendan en el enlace?

Comprueba que tienes todos los paquetes necesarios instalados.

How to Install Zenmap on Ubuntu 22.04
https://blog.eldernode.com/install-zenmap-on-ubuntu-22-04/

Y revisa los comentarios donde dicen que NO funciona con Python3.

Saludos,

--
Camaleón

Ramses

unread,
Mar 30, 2023, 6:40:04 AM3/30/23
to
El 30 de marzo de 2023 12:32:13 CEST, Ramses <ramses....@gmail.com> escribió:
>Camaleón, ese enlace ya lo había revisado, y me daba problemas de dependencias al instalar la librería que proponen en el proceso, el tema de la instalación de GTK, creo recordar.
>
>Finalmente di con este enlace, que coge el código fuente, hace una modificación de "path" en los ficheros y se hace la compilación e instalación.
>
>Sí ejecuto "sudo zenmap" desde un terminal, "zenmap" arranca en entorno gráfico sin problemas. La historia está en crear un lanzador en el Entorno Gráfico, que no consigo crear el lanzador para que me ejecute "sudo zenmap". También he probado con "pkexec zenmap", pero me da error el lanzador, pero si ejecuto esa orden desde un terminal, funciona perfectamente.
>
>No sé si me explico...
>
>
>Saludos y gracias
>

Perdón, se me pasó poner el enlace:

https://askubuntu.com/questions/1421263/cant-install-zenmap-on-ubuntu-22-04-due-to-dependency-issues


Saludos y gracias

Ramses

unread,
Mar 30, 2023, 6:40:05 AM3/30/23
to

Camaleón

unread,
Mar 30, 2023, 7:00:04 AM3/30/23
to
No me refiero a ESE enlace, sino al primero que te he puesto :-)

> Finalmente di con este enlace, que coge el código fuente, hace una modificación de "path" en los ficheros y se hace la compilación e instalación.
>
> Sí ejecuto "sudo zenmap" desde un terminal, "zenmap" arranca en entorno gráfico sin problemas. La historia está en crear un lanzador en el Entorno Gráfico, que no consigo crear el lanzador para que me ejecute "sudo zenmap". También he probado con "pkexec zenmap", pero me da error el lanzador, pero si ejecuto esa orden desde un terminal, funciona perfectamente.
>
> No sé si me explico...

Entiendo lo que te pasa, pero no sé si el error se debe a que no has
instalado las dependencias que necesita el paquete para iniciarse o se
trata de un problema con el lanzador del escritorio que necesita
conferir los permisos de súperusaurio de la manera adecuada a tu
entorno.

Unas preguntas sencillas:

1. ¿Qué versión de Debian y qué entorno gráfico tienes instalado?
2. ¿Qué sucede cuando ejecutas zenmap desde una consola como root? ¿Se
inicia? ¿Saca algún error? ¿Qué te dice?

Saludos,

--
Camaleón

Pitu Odena

unread,
Mar 30, 2023, 1:00:05 PM3/30/23
to
Prueba con kdesu ( o gnomesu, o xdg-su,... ) en lugar de sudo.

Carlos Villiere

unread,
Mar 30, 2023, 3:20:03 PM3/30/23
to
El jue, 30-03-2023 a las 08:21 +0200, Camaleón escribió:
> su-to-zenmap.sh
Probaste de cambiar los permisos de "su-to-zenmap.sh"

Carlos Villiere

unread,
Mar 30, 2023, 3:30:04 PM3/30/23
to
Hola Ramses

Probaste de cambiar los permisos a "su-to-zenmap.sh"

Saludos

José María

unread,
Mar 30, 2023, 3:40:04 PM3/30/23
to
El mié, 29-03-2023 a las 22:00 +0200, Ramses escribió:
Hola,

Se me ocurre una forma algo "sucia"... Pruébalo antes en una máquina
virtual. No me hago responsable.

Primero añade a tu usuario y al ejecutable de zenmap a sudo. Ejecuta:
 
sudo visudo


Añade la siguiente línea al archivo. Si tu usuario fuese "jose"

jose ALL=NOPASSWD: /usr/local/share/zenmap/su-to-zenmap.sh %F

Con esto se supone que no te pide la contraseña al ejecutar la
aplicación con sudo


Ahora tendrás que editar el lanzador y ponerle sudo al ejecutable, o
sea, busca la siguiente línea y déjala así

Exec=sudo /usr/local/share/zenmap/su-to-zenmap.sh %F


Si no funciona, déjalo todo como estaba

No hace falta que te diga que esto no es lo correcto... pero puede ser
una solución mientras buscas algo mas ortodoxo

Un saludo,
Jose

Ramses

unread,
Mar 31, 2023, 6:50:07 AM3/31/23
to
Camaleón, buenos días.

Tengo UBUNTU 22.04

Desde la Consola:

- Con mi Usuario ejecuto "zenmap" y me dice, en una ventana gráfica, que estoy intentando ejecutar "zenmap" con un usuario sin privilegios y que algunas funciones requieren permisos "root" para ejecutarse. Al Aceptar en esa ventana, se abre "zenmap".

- Con mi Usuario ejecuto "sudo zenmap" y me pide password y se abre "zenmap".

- Con mi Usuario ejecuto "/usr/local/share/zenmap/su-to-zenmap.sh" y no hace nada, ni mensajes ni nada.

- Con mi Usuario ejecuto "sudo /usr/local/share/zenmap/su-to-zenmap.sh", se abre "zenmap".

- Con root (entrando con "su root" y password) ejecuto "zenmap" y se abre "zenmap".

- Con root (entrando con "su root" y password) ejecuto "/usr/local/share/zenmap/su-to-zenmap.sh" y se abre "zenmap".

El lanzador que crea para "root", es este:

--------------------------------------------------------------
[Desktop Entry]
Name=Zenmap (como root)
GenericName=GUI Port Scanner
TryExec=/usr/local/share/zenmap/su-to-zenmap.sh
Exec=/usr/local/share/zenmap/su-to-zenmap.sh %F
Terminal=false
Icon=/usr/local/share/zenmap/pixmaps/zenmap.png
Type=Application
Categories=Application;Network;Security;
Comment=A cross-platform GUI for the Nmap Security Scanner.
Keywords=network;scan;scanner;IP;security;
--------------------------------------------------------------

Y para Usuario, este:

--------------------------------------------------------------
[Desktop Entry]
Name=Zenmap
GenericName=GUI Port Scanner
TryExec=zenmap
Exec=zenmap %F
Terminal=false
Icon=/usr/local/share/zenmap/pixmaps/zenmap.png
Type=Application
Categories=Application;Network;Security;
Comment=A cross-platform GUI for the Nmap Security Scanner.
Keywords=network;scan;scanner;IP;security;

--------------------------------------------------------------

Vamos, que si lo tiro desde la Consola, funciona "zenmap", pero no consigo que funcione desde un lanzador para root, porque cuando ejecuto el lanzador para Usuario, se comporta igual que cuando tiro el "zenmap" desde Consola como Usuario, pero cuando ejecuto el lanzador para "root", se comporta como cuando ejecuto "/usr/local/share/zenmap/su-to-zenmap.sh" desde la Consola como Usuario, que no hace nada.


saludos y gracias

Ramses

unread,
Mar 31, 2023, 7:00:03 AM3/31/23
to
Hola la Carlos,

No he probado, tiene 755 root:root

Los he cambiado para mí Usuario, y nada.


Saludos

Ramses

unread,
Mar 31, 2023, 7:00:03 AM3/31/23
to
No, tiene permisos 755 root:root


Saludos

Ramses

unread,
Mar 31, 2023, 7:00:03 AM3/31/23
to
El 30 de marzo de 2023 18:50:50 CEST, Pitu Odena <jmoll...@gmail.com> escribió:
>Prueba con kdesu ( o gnomesu, o xdg-su,... ) en lugar de sudo.
>

Esas opciones he leído que están obsoletas, ¿no?.


Saludos

Pitu Odena

unread,
Mar 31, 2023, 7:10:04 AM3/31/23
to
El 31/3/23 a les 12:53, Ramses ha escrit:
No se si estan obsoletas. Solo se que si quiero ejecutar algun programa
como root desde el lanzador de aplicaciones (Alt+F2) con sudo no
funciona pero si con kdesu (uso KDE). Supongo (no estoy seguro) que en
*.desktop pasa lo mismo.

Se trataria de poner :

kdesu Exec=/usr/local/share/zenmap/su-to-zenmap.sh %F

Por probar no se pierde nada.

Ramses

unread,
Mar 31, 2023, 7:30:03 AM3/31/23
to
Hola José María,

Así, sí va fino...

¿Problemas?


Saludos y gracias

Camaleón

unread,
Mar 31, 2023, 7:50:04 AM3/31/23
to
El 2023-03-31 a las 12:48 +0200, Ramses escribió:

> El 30 de marzo de 2023 12:50:51 CEST, "Camaleón" <noel...@gmail.com> escribió:

(...)

> >> >>
> >> >> ¿Alguna otra idea, incluir "zenmap" en"sudo" de alguna forma para que al ejecutar el lanzador automáticamente se ejecute con otro usuario, es decir, como "root"?
> >> >
> >> >¿Has probado lo que recomiendan en el enlace?
> >> >
> >> >Comprueba que tienes todos los paquetes necesarios instalados.
> >> >
> >> >How to Install Zenmap on Ubuntu 22.04
> >> >https://blog.eldernode.com/install-zenmap-on-ubuntu-22-04/
> >> >
> >> >Y revisa los comentarios donde dicen que NO funciona con Python3.
> >> >
> >> >Saludos,
> >> >
> >>
> >> Camaleón, ese enlace ya lo había revisado, y me daba problemas de dependencias al instalar la librería que proponen en el proceso, el tema de la instalación de GTK, creo recordar.
> >
> >No me refiero a ESE enlace, sino al primero que te he puesto :-)
> >
> >> Finalmente di con este enlace, que coge el código fuente, hace una modificación de "path" en los ficheros y se hace la compilación e instalación.
> >>
> >> Sí ejecuto "sudo zenmap" desde un terminal, "zenmap" arranca en entorno gráfico sin problemas. La historia está en crear un lanzador en el Entorno Gráfico, que no consigo crear el lanzador para que me ejecute "sudo zenmap". También he probado con "pkexec zenmap", pero me da error el lanzador, pero si ejecuto esa orden desde un terminal, funciona perfectamente.
> >>
> >> No sé si me explico...
> >
> >Entiendo lo que te pasa, pero no sé si el error se debe a que no has
> >instalado las dependencias que necesita el paquete para iniciarse o se
> >trata de un problema con el lanzador del escritorio que necesita
> >conferir los permisos de súperusaurio de la manera adecuada a tu
> >entorno.
> >
> >Unas preguntas sencillas:
> >
> >1. ¿Qué versión de Debian y qué entorno gráfico tienes instalado?
> >2. ¿Qué sucede cuando ejecutas zenmap desde una consola como root? ¿Se
> >inicia? ¿Saca algún error? ¿Qué te dice?
> >
>
> Camaleón, buenos días.
>
> Tengo UBUNTU 22.04

Vale, entonces es una versión moderna que NO admite de manera nativa
Zenmap.

> Desde la Consola:

(...)

> - Con mi Usuario ejecuto "sudo /usr/local/share/zenmap/su-to-zenmap.sh", se abre "zenmap".
>
> - Con root (entrando con "su root" y password) ejecuto "zenmap" y se abre "zenmap".
>
> - Con root (entrando con "su root" y password) ejecuto "/usr/local/share/zenmap/su-to-zenmap.sh" y se abre "zenmap".

Bien, entonces el problema que tienes es únicamente con el lanzador,
proque ya has resuelto la instalación de Python2 que necesita la
aplicación, de otra forma no podría ejecutarse ni iniciarse Zenmap.

(...)

> Vamos, que si lo tiro desde la Consola, funciona "zenmap", pero no consigo que funcione desde un lanzador para root, porque cuando ejecuto el lanzador para Usuario, se comporta igual que cuando tiro el "zenmap" desde Consola como Usuario, pero cuando ejecuto el lanzador para "root", se comporta como cuando ejecuto "/usr/local/share/zenmap/su-to-zenmap.sh" desde la Consola como Usuario, que no hace nada.

El guión que utiliza el apquete Zenmap no está pensando para sistemas
actuales que se basan el Policykit/pxexec, como ya te dije.

Lo que tienes que hacer es adapatar el sistema de autentificación en
entorno gráfico como root para que funcione, y poner esa orden en el
archivo .desktop de Zenmap, para lo cual podrías basarte en el lanzador
de alguna aplicación similar, como «ettercap-graphical», que usa la
siguiente orden en el guión al que llama el lanzador:

pkexec --disable-internal-agent "ethercap" "@"

O Synapctic, que usa un guión ubicado «/usr/bin/synaptic-pkexec»:

pkexec "/usr/sbin/synaptic" "$@"

Pero además necesitarás alguna regla o política definida en Policykit
para que te funcione, entiendo que sólo con el lanzador no será suficiente.

Revisa lo que están haciendo otras distribuciones para adaptar ese
paquete a los nuevos entornos, p. ej. en Archlinux, pro si te da alguna
idea:

https://aur.archlinux.org/packages/zenmap

Saludos,

--
Camaleón

José María

unread,
Mar 31, 2023, 1:40:06 PM3/31/23
to
¿Problemas dices?... En teoría no, solo comprueba si ejecutando otra
aplicación con "sudo" te pide la contraseña, por ejemplo actualiza el
sistema con:

sudo apt update

Si todo va bien lo puedes dejar así, solo debes tener en cuenta que
para zenmap nunca te va a pedir la contraseña...


¿Te quieres complicar la vida? Deshaz todo y te cuento...


Ya he leído que usas Ubuntu, pero no dices el entorno de escritorio que
usas... eso también influye, tanto la distribución como el entorno de
escritorio.

Me explico, si usas un gestor de ventanas como Openbox, JWM etc o usas
Cinnamon, XFCE, Unity o GNOME2, tendrías que instalar el paquete
"policykit-1-gnome"

¡¡¡OJO!!! esto es sólo en Debian, así que tendrías que mirar el paquete
que corresponde a Ubuntu

El entorno de escritorio de Mate, aunque sea un fork de GNOME2 tiene su
propio policykit, al igual que LXDE, LXQT o GNOME3

Si usas este último, tendrías que crear una acción ya que usa pkexec
para que cuando ejecutes la aplicación se te abra un dialogo que te
pregunte por la contraseña.


Te dejo un link con lo que tendrías que hacer porque es un poco largo
de explicar

https://geekland.eu/crear-accion-de-policykit-abrir-aplicacion-root/


Hay que echarle tiempo, paciencia y usar el método de prueba y error...
Hasta aquí te puedo ayudar

Un saludo
0 new messages