Pregunta capciosa de permisos y iconos

patton

New member
En linux uno crea un lanzador para lanzar desde ahi una aplicación, elige el icono, etc, inluso lanzarlo con permisos de root, como hacer eso en OS X? porque lo que quiero es poder lanzar la aplicación con permisos de root, eso solo puedo hacerlo con $ sudo -s y luego lanzar el .sh que cree.

# ls -lia nmap
365112 -rwxr-xr-x 1 root patton 57 Mar 22 19:23 nmap

#!/bin/bash
/Applications/XNmap.app/Contents/MacOS/XNmap

# ./nmap

Si lo lanzo como usuario normal(./nmap) me sale.
TCP/IP fingerprinting (for OS scan) requires root privileges. Sorry, dude.

y el icono abriendolo con alt-i solo me muestra esto:


Como hacer para que desde icono poder lanzar como root /Applications/XNmap.app/Contents/MacOS/XNmap

???????????????????????????????????????????

porque si coloco:

# ls -lia /Applications/XNmap.app/Contents/MacOS/XNmap
365091 -rwxrwxrwx 1 patton admin 111380 Mar 19 2006 /Applications/XNmap.app/Contents/MacOS/XNmap
# chown -R root /Applications/XNmap.app/Contents/MacOS/XNmap
# ls -lia /Applications/XNmap.app/Contents/MacOS/XNmap
365091 -rwxrwxrwx 1 root admin 111380 Mar 19 2006 /Applications/XNmap.app/Contents/MacOS/XNmap

Me sigue saliendo:
TCP/IP fingerprinting (for OS scan) requires root privileges. Sorry, dude.

Solo funciona desde terminal como root :/ y yo quiero hacerlo solo con pulsar el icono, no importa que me pida la contraseña(como me la solicita Onyx!). pero no se como diablos se hace!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 

miliuco

Activo
Tienes una utilidad llamada Pseudo (es para PPC pero funciona bien en MacIntel) que puedes copiar a la carpeta Applications y después:

- arrancas Automator
- en la ventana de la izquierda eliges Finder » Abrir items del Finder
- en la ventana de la derecha eliges Pseudo en lugar de Aplicación por defecto
- Archivo » Guardar como módulo » Módulo para el Finder » dale nombre al módulo (ej: Ejecutar como...)
- ahora tienes en el menú contextual una opción nueva Automator » Ejecutar como...
- con ella arranca Pseudo » pide contraseña de root » ejecuta la aplicación elegida como root
 

patton

New member
ahhh era Save As Plug-In, ok.

y luego click-derecho sobre XNMAP en Applications, automator->pseudo y la contraseña jaja como largo de hacer, pero como hago eso de para lanzarlo con pseudo desde el dock???? porque con todos esos pasos mejor lo lanzo desde terminal con ./nmap con privilegios de root.
 

miliuco

Activo
Tal vez este método sea más sencillo:

- abres Aplicaciones/AppleScript/Editor de Scripts

- escribes este texto:

do shell script "/usr/sbin/diskutil repairPermissions /" user name "root" password "password_de_root" with administrator privileges

- pulsas el botón Ejecutar y puedes observar en el Monitor de Actividad cómo la tarea de reparar los permisos se realiza como root

- si ahora guardas el script como una aplicación, la tienes disponible para ejecutarla cuando quieras

Prueba con el programa que deseas ejecutar como root (XNmap) a ver si funciona de esta manera.

NOTA: cambia "password_de_root" por la correcta en tu sistema.
 

miliuco

Activo
Patton, he instalado Nmap y XNmap y parecen funcionar bien, creo que el problema radica en que Nmap ha de tener permisos de root para que XNmap pueda usar todas sus características. Lo que yo he hecho ha sido:

- he descargado Nmap en formato tarball en versión más reciente 4.20

- he instalado Nmap al estilo clásico Unix con los comandos
./configure
make
sudo make install

- Nmap se instala en /usr/local/bin/nmap

- le he dado permisos de root a Nmap con los comandos:
sudo chown root /usr/local/bin/nmap
sudo chmod u+s /usr/local/bin/nmap

- he instalado XNmap y al arrancarlo por primera vez me ha preguntado por la ruta a Nmap y ha funcionado bien desde el principio
 

patton

New member
Hiciste eso en intel? hmmmmm.....podrias hacer colocado los resultados...porque en un topic anterior nunca me funciono como con otros programas que si pude compilar como lo haces tu ahora....nmap solo me funciono con darwin...

pero es que digo que no lo instale con ese tar.gz, sino con darwinports

En vez de /usr/local/bin/nmap, yo en cambio le doy esta ruta->/opt/local/bin/nmap porque ahí fue donde lo instalo darwin:
# ls -lia /opt/local/bin/nmap
364932 -rwxr-xr-x 2 root admin 465312 Mar 22 19:18 /opt/local/bin/nmap
Le doy permisos 755
u=rwx
g=r-x
o=r-x

Pero ya me acostumbre a lanzalo con ./nmap, así que no importa :)
 

miliuco

Activo
He instalado varios programas con make tanto en iMac como en PC y casi siempre sin problemas. Es imprescindible tener instaladas las herramientas de desarrollo de Apple pues por defecto OSX no instala el compilador GCC y otras utilidades necesarias.

En el caso de Nmap la compilación no me dio errores salvo un aviso sobre la falta de una interfaz gráfica que también puede traer incorporada pero, como es para usar con Xnmap, no es importante. La ventaja de compilar con make es que la instalación se adapta a las caracterísiticas de tu propio sistema y, en teoría, el programa instalado debería funcionar mejor.

Pienso que todo debería funcionar igual independientemente de que Nmap se instale con make o como PKG, la clave parece residir en que el ejecutable nmap tenga los permisos adecuados como root, lo que no me parece interesante es instalar Nmap con Fink o algún port para Darwin, mejor compilando con make o con paquete de instalación PKG.
 

patton

New member
He instalado varios programas con make tanto en iMac como en PC y casi siempre sin problemas. Es imprescindible tener instaladas las herramientas de desarrollo de Apple pues por defecto OSX no instala el compilador GCC y otras utilidades necesarias.
A cual herramientas te refieres? XCode?
Esta versión de gcc tengo:
$ gcc --version
i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5367)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

nota: Varias veces me toco cambiar a otro GCC con select porque el README de tal o cual programa salía que habia que ocupar otra versión compilador...

En el caso de Nmap la compilación no me dio errores salvo un aviso sobre la falta de una interfaz gráfica que también puede traer incorporada pero
A mi me tiro este error de interfaz grafica...
NmapFE will not be made -- your system lacks the capabilities (perhaps GTK) for this graphical frontend. You can still run command-line nmap! y eso era exclusivamente por no compilar GTK. que con XNAMP da igual...de hecho con ettercap compile GTK y lo lanzo con esa interfaz, se demoro harto en compialr eso sip xP

como es para usar con Xnmap, no es importante.
De hecho pensaba lo mismo, pero el problema era que me devolvía:
# nmap -A -T4 scanme.nmap.org
Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2007-01-07 15:53 CLST
sendto in send_ip_packet: sendto(6, packet, 28, 0, 205.217.153.62, 16) => Invalid argument
Sleeping 15 seconds then retrying
sendto in send_ip_packet: sendto(6, packet, 28, 0, 205.217.153.62, 16) => Invalid argument
Sleeping 60 seconds then retrying
sendto in send_ip_packet: sendto(6, packet, 28, 0, 205.217.153.62, 16) => Invalid argument
Sleeping 240 seconds then retrying
sendto in send_ip_packet: sendto(6, packet, 28, 0, 205.217.153.62, 16) => Invalid argument
sendto in send_ip_packet: sendto(5, packet, 40, 0, 205.217.153.62, 16) => Invalid argument
Sleeping 15 seconds then retrying
sendto in send_ip_packet: sendto(5, packet, 40, 0, 205.217.153.62, 16) => Invalid argument
Sleeping 60 seconds then retrying
sendto in send_ip_packet: sendto(5, packet, 40, 0, 205.217.153.62, 16) => Invalid argument
Sleeping 240 seconds then retrying
Error que encontre en varios foros,

No como ahora que funciona perfecto me me muestra algo como esto:
nmap -A -T4 scanme.nmap.org

Starting Nmap 4.20 ( http://insecure.org ) at 2007-01-07 18:47 CLST
Interesting ports on scanme.nmap.org (205.217.153.62):
Not shown: 1691 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.3 (protocol 2.0)
25/tcp closed smtp
53/tcp open domain
70/tcp closed gopher
80/tcp open http Apache httpd 2.2.2 ((Fedora))
113/tcp closed auth
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.15-27-686 (Ubuntu Dapper, X86)
Uptime: 20.564 days (since Mon Dec 18 05:15:38 2006)

OS and Service detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .
Nmap finished: 1 IP address (1 host up) scanned in 62.750 seconds

La ventaja de compilar con make es que la instalación se adapta a las caracterísiticas de tu propio sistema y, en teoría, el programa instalado debería funcionar mejor. Pienso que todo debería funcionar igual independientemente de que Nmap se instale con make o como PKG, la clave parece residir en que el ejecutable nmap tenga los permisos adecuados como root
Si tiene permisos de root el ejecutable como muestro arriba, pero solo me funciona ejecutando XNMAP como root o sino el mensaje.
TCP/IP fingerprinting (for OS scan) requires root privileges. Sorry, dude.

lo que no me parece interesante es instalar Nmap con Fink o algún port para Darwin, mejor compilando con make o con paquete de instalación PKG.
Pero de hecho fink, darwinports compilan cuando uno lo instala y colocan los targets por defecto a no ser que uno coloque por ejemplo:
# port install ettercap-ng +gtk +plugins
que sería lo mismo que bajarse el tar y compilarlo con ./configure --with-libpcap=/usr --enable-plugins --enable-gtk y luego ejecutar el make, en ambos casos de se compila de la misma forma. De hecho si abres los Makefile de los tar de master_sites de donde descarga darwinports y te vas a dar cuenta que contienen los mismos flags.
 

miliuco

Activo
Pues es raro que te siga dando ese problema, parece que tal como lo has hecho debería funcionar igual que en mi caso.

Cuando instalas las XCode Tools (herramientas de desarrollo de Apple) puedes elegir opciones de instalación y, entre otras, están los compiladores GCC, creo recordar que al menos versiones 3 y 4, yo recuerdo que en su día marqué los 2 para tener ambas versiones por si algún programa buscaba la 3 más antigua.
 
Arriba