Discussion:
Ejecutar "jar" de java a través de smb://
Camaleón
2008-04-17 14:56:49 UTC
Permalink
Hola,

Tengo un archivo ".jar" ubicado en un recurso samba que me gustaría
ejecutar desde suse.

Si desde consola ejecuto:

***
***@stthpc:~> java -jar smb://servidor/directorio/archivo.jar
Unable to access jarfile smb://servidor/directorio/archivo.jar
***

No lo lanza.

Si lo ejecuto directamente desde konqueror, me sale un menasje de error:

"(...) file does not have execute permission... please, fix"

Pero desde konqueror veo que sí tiene permisos de ejecución para el
usuario :-? Además, todos los archivos que vienen de samba tienen
este permiso "añadido".

Pero si ese mismo archivo lo copio al escritorio en suse y lo ejecuto:

***
***@stthpc:~> java -jar /home/hpc02/Desktop/archivo.jar
libxcb: WARNING! Program tries to unlock a connection without having
acquired a lock first, which indicates a programming error.
There will be no further warnings about this issue.
libxcb: WARNING! Program tries to lock an already locked connection,
which indicates a programming error.
There will be no further warnings about this issue.
***

Lo lanza sin problemas (salvo el aviso que da).

Pregunta ¿cómo lo lanzo accediendo al recurso samba... es posible? :-?

Sé que puedo montar (mount -t cifs...) el recurso y ejecutar el
archivo .jar pero me gustaría ver la forma de hacerlo sin tener que
montarlo.

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Salvador Gomez Cabello
2008-04-17 15:19:04 UTC
Permalink
Si quieres ejecutar un .jar desde consola es mejor que pongas:

java -jar <mi_fijero_jar>
Post by Camaleón
Hola,
Tengo un archivo ".jar" ubicado en un recurso samba que me gustaría
ejecutar desde suse.
***
Unable to access jarfile smb://servidor/directorio/archivo.jar
***
No lo lanza.
"(...) file does not have execute permission... please, fix"
Pero desde konqueror veo que sí tiene permisos de ejecución para el
usuario :-? Además, todos los archivos que vienen de samba tienen
este permiso "añadido".
***
libxcb: WARNING! Program tries to unlock a connection without having
acquired a lock first, which indicates a programming error.
There will be no further warnings about this issue.
libxcb: WARNING! Program tries to lock an already locked connection,
which indicates a programming error.
There will be no further warnings about this issue.
***
Lo lanza sin problemas (salvo el aviso que da).
Pregunta ¿cómo lo lanzo accediendo al recurso samba... es posible? :-?
Sé que puedo montar (mount -t cifs...) el recurso y ejecutar el
archivo .jar pero me gustaría ver la forma de hacerlo sin tener que
montarlo.
Saludos,
--
----------------------------------
GTSolutions Iberica
Avd.Los Boliches 93
Fuengirola - 29640
Malaga - España
Telf:+34 952 66 64 85
http://www.gtsiberica.com
-----------------------------------
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Ricardo
2008-04-17 15:42:42 UTC
Permalink
Post by Salvador Gomez Cabello
java -jar <mi_fijero_jar>
Así como dices funciona perfecto.
Pero el archivo lo tengo en un disco al que accedo desde suse vía
samba por eso preguntaba si era posible ejecutarlo directamente,
pasando algún parámetro o algo... no sé :-?
Saludos,
Pero... si tú haces, por ejemplo:
ls smb://servidor/directorio/archivo.jar

te lo interpreta?
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Camaleón
2008-04-17 16:09:07 UTC
Permalink
Post by Ricardo
ls smb://servidor/directorio/archivo.jar
te lo interpreta?
No, tendría que montar el recurso:

***@stthpc:~> ls smb://servidor/directorio/archivo.jar
ls: no se puede acceder a smb://servidor/directorio/archivo.jar
: No existe el fichero o el directorio

Quizá con smbclient :-?

Lo que busco es crear un acceso directo para ejecutar ese jar.

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Ricardo
2008-04-17 16:17:41 UTC
Permalink
Post by Camaleón
ls: no se puede acceder a smb://servidor/directorio/archivo.jar
: No existe el fichero o el directorio
Clarito, por eso no lo ejecuta, el intérprete no sabe a que nos
referimos con "smb://"
Post by Camaleón
Quizá con smbclient :-?
a ver, juguemos, a mí también me interesa..
voy a probar..
Post by Camaleón
Lo que busco es crear un acceso directo para ejecutar ese jar.
Saludos,
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Camaleón
2008-04-17 15:39:04 UTC
Permalink
Post by Salvador Gomez Cabello
java -jar <mi_fijero_jar>
Así como dices funciona perfecto.

Pero el archivo lo tengo en un disco al que accedo desde suse vía
samba por eso preguntaba si era posible ejecutarlo directamente,
pasando algún parámetro o algo... no sé :-?

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Salvador Gomez Cabello
2008-04-17 16:31:45 UTC
Permalink
Cuando yo tengo un servidor win con terminales linux lo que hago es montar
samba en una carpeta en /mnt y despues le hago un enlace ejecutado el comando.
Lo puedes hacer con kde esto ultimo.
Esto es si el programa lo tulizo mucho.


Se que en versiones anteriores de suse habia un parametro del kernel o del SO
(no estoy seguro) que te tomaba los .jar como ejecutables. Era capaz de
llamar directamente al java instalado.
Post by Salvador Gomez Cabello
java -jar <mi_fijero_jar>
Así como dices funciona perfecto.
Pero el archivo lo tengo en un disco al que accedo desde suse vía
samba por eso preguntaba si era posible ejecutarlo directamente,
pasando algún parámetro o algo... no sé :-?
Saludos,
--
----------------------------------
GTSolutions Iberica
Avd.Los Boliches 93
Fuengirola - 29640
Malaga - España
Telf:+34 952 66 64 85
http://www.gtsiberica.com
-----------------------------------
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Ricardo
2008-04-17 16:40:44 UTC
Permalink
Post by Salvador Gomez Cabello
Cuando yo tengo un servidor win con terminales linux lo que hago es montar
samba en una carpeta en /mnt y despues le hago un enlace ejecutado el comando.
Lo puedes hacer con kde esto ultimo.
Esto es si el programa lo tulizo mucho.
Se que en versiones anteriores de suse habia un parametro del kernel o del SO
(no estoy seguro) que te tomaba los .jar como ejecutables. Era capaz de
llamar directamente al java instalado.
Perfecto, pero el chiste es poder ejecutarlo, sin "montarlo" a lo
usual, como realizar:

more nosepuede.txt | smbclient //ip/directorio -c "more -"

Pues no va a ser me parece..
éstos son los comandos que acepta smbclient una vez conectado........

?, altname, archive, blocksize, cancel, case_sensitive, cd, chmod,
chown, del, dir, du,
exit, get, getfacl, hardlink, help, history, lcd, link, lowercase, ls,
mask, md, mget, mkdir,
more, mput, newer, open, print, prompt, put, pwd, q, queue, quit, rd,
recurse, reget,
rename, reput, rm, rmdir, showacls, setmode, stat, symlink, tar,
tarmode, translate,
volume, vuid, logon, listconnect, showconnect, !

Pero de jar...ni noticias..

---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Ricardo
2008-04-17 16:58:32 UTC
Permalink
Post by Ricardo
Post by Salvador Gomez Cabello
Cuando yo tengo un servidor win con terminales linux lo que hago es
montar samba en una carpeta en /mnt y despues le hago un enlace
ejecutado el comando.
Lo puedes hacer con kde esto ultimo.
Esto es si el programa lo tulizo mucho.
Se que en versiones anteriores de suse habia un parametro del kernel
o del SO (no estoy seguro) que te tomaba los .jar como ejecutables.
Era capaz de llamar directamente al java instalado.
Perfecto, pero el chiste es poder ejecutarlo, sin "montarlo" a lo
more nosepuede.txt | smbclient //ip/directorio -c "more -"
Pues no va a ser me parece..
éstos son los comandos que acepta smbclient una vez conectado........
?, altname, archive, blocksize, cancel, case_sensitive, cd, chmod,
chown, del, dir, du,
exit, get, getfacl, hardlink, help, history, lcd, link, lowercase, ls,
mask, md, mget, mkdir,
more, mput, newer, open, print, prompt, put, pwd, q, queue, quit, rd,
recurse, reget,
rename, reput, rm, rmdir, showacls, setmode, stat, symlink, tar,
tarmode, translate,
volume, vuid, logon, listconnect, showconnect, !
Pero de jar...ni noticias..
Y de tanto trabajar escribí cualquier cosa, el comando en realidad es:

smbclient //ip/directorio -U usuario -W (grupode trabajo/dominio) -c
"more nosepuede.txt-"



---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Camaleón
2008-04-17 18:45:21 UTC
Permalink
Perfecto, pero el chiste es poder ejecutarlo, sin "montarlo" a lo usual,
Creo que no se puede Ricardo... limitaciones del propio java :-?
more nosepuede.txt | smbclient //ip/directorio -c "more -"
Pues no va a ser me parece..
éstos son los comandos que acepta smbclient una vez conectado........
?, altname, archive, blocksize, cancel, case_sensitive, cd, chmod, chown,
del, dir, du,
exit, get, getfacl, hardlink, help, history, lcd, link, lowercase, ls,
mask, md, mget, mkdir,
more, mput, newer, open, print, prompt, put, pwd, q, queue, quit, rd,
recurse, reget,
rename, reput, rm, rmdir, showacls, setmode, stat, symlink, tar, tarmode,
translate,
volume, vuid, logon, listconnect, showconnect, !
Pero de jar...ni noticias..
smbclient es como un cliente ftp para samba. Con "get" te descargas el
archivo pero de ejecuciones, nada :-/

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Ricardo
2008-04-17 18:49:46 UTC
Permalink
Post by Camaleón
Creo que no se puede Ricardo... limitaciones del propio java :-?
Claro, ahí llegué yo tmb, asique, al antiguo uso viviremos
Post by Camaleón
smbclient es como un cliente ftp para samba. Con "get" te descargas el
archivo pero de ejecuciones, nada :-/
Saludos,
En realidad, es un cliente del sistema, pero bueno, mejor digamos, un
cliente ftp, de sistema, etc, etc ;)

---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Camaleón
2008-04-17 18:42:56 UTC
Permalink
Post by Salvador Gomez Cabello
Cuando yo tengo un servidor win con terminales linux lo que hago es montar
samba en una carpeta en /mnt y despues le hago un enlace ejecutado el comando.
Lo puedes hacer con kde esto ultimo.
Esto es si el programa lo tulizo mucho.
Pues creo que va a ser la única forma :-(

He estado buscando más información sobre el tipo de recurso que admite
el argumento "-jar" de java y parece que sólo permite archivos locales
(tampoco direcciones url remotas del tipo "java -jar
http://dominio.com/archivo.jar" por ejemplo) por lo que entiendo que o
bien el archivo jar incluye alguna clase que pueda gestionar estos
protocolos -que parece que no- o no veo otra opción salvo montando el
recurso...

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
J.M.Queralt
2008-04-17 20:02:43 UTC
Permalink
Camaleón> He estado buscando más información sobre el tipo de recurso que admite
Camaleón> el argumento "-jar" de java y parece que sólo permite archivos locales

Un momento, "jar" no es un argumento, bueno si lo es, pero su función
es simplemente permitir crear un tipo de fichero (basado en en el
formato zip) llamado ".jar"

Un archivo "*.jar" es un "contenedor" de todos los ficheros que
conforman una aplicación java y su principal función consiste
precisamente en instalarse en el ordenador cliente para no "cargar" el
servidor en la ejecución del "applet" o de la aplicación".

En otras palabras lo que hace es enviarse al cliente un único fichero
"jar" con todos los ficheros de la aplicación para que pueda ejecutarse
en modo local sin necesidad de descargar nuevamente desde el servidor.

Para más info, la página oficial de Sun sobre el formato JAR.

http://java.sun.com/docs/books/tutorial/deployment/jar/

Un fichero JAR se ejecuta por su propia definición y por cuestiones de
seguridad obvias solo en modo local, pero debe poder descargarse
facilmente de un servidor.

Normalmente eso ocurre cuando se llama por primera vez al "applet" o
aplicación java que acostumbran a usar la extensión *.class

El entorno "natural" de un archivo "jar" es el protocolo HTTP y el
lenguaje HTML, algo así como

<Applet Codebase="JAVA-CODE/" Code="applet.class" Name="nombreapplet" archive="applet.jar">

En otros ambientes debe usarse el propio compilador java, sus variables
de entorno y su fichero de configuración para establecer los permisos de
ejecución.
--
Saludos,
J.M.Queralt
Camaleón
2008-04-17 20:14:09 UTC
Permalink
Post by J.M.Queralt
Un momento, "jar" no es un argumento, bueno si lo es, pero su función
es simplemente permitir crear un tipo de fichero (basado en en el
formato zip) llamado ".jar"
Eso mismo :-).
Post by J.M.Queralt
Un fichero JAR se ejecuta por su propia definición y por cuestiones de
seguridad obvias solo en modo local, pero debe poder descargarse
facilmente de un servidor.
Pero java, precisamente, es un lenguaje orientado a Internet y
recursos remotos... no esperaba que tuviera esa restricción, la
verdad.

La seguridad corre de mi cuenta, no hace falta que Sun se preocupe
tanto >:-). Sólo quiero ejecutar un archivo en un recurso samba, al
igual que hago con una imagen, un pdf o un zip... todos ellos pueden
ser igual de "peligrosos" así que no cuela :-P
Post by J.M.Queralt
Normalmente eso ocurre cuando se llama por primera vez al "applet" o
aplicación java que acostumbran a usar la extensión *.class
El entorno "natural" de un archivo "jar" es el protocolo HTTP y el
lenguaje HTML, algo así como
<Applet Codebase="JAVA-CODE/" Code="applet.class" Name="nombreapplet" archive="applet.jar">
En otros ambientes debe usarse el propio compilador java, sus variables
de entorno y su fichero de configuración para establecer los permisos de
ejecución.
La pregunta es que si desde un cliente windows lo puedo hacer
(ejecutar el .jar desde una unidad de red) ¿por qué desde suse con
samba no? La consola es la misma (JRE) y el peligro también :-/.

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Carlos E. R.
2008-04-17 21:23:13 UTC
Permalink
Post by Camaleón
Un fichero JAR se ejecuta por su propia definición y por cuestiones de
seguridad obvias solo en modo local, pero debe poder descargarse
facilmente de un servidor.
Pero java, precisamente, es un lenguaje orientado a Internet y
recursos remotos... no esperaba que tuviera esa restricción, la
verdad.
Creo que no es restricción del lenguaje. Prueba a ejecutar un script
localizado en un recurso samba de la misma forma.
Post by Camaleón
La seguridad corre de mi cuenta, no hace falta que Sun se preocupe
tanto >:-). Sólo quiero ejecutar un archivo en un recurso samba, al
igual que hago con una imagen, un pdf o un zip... todos ellos pueden
ser igual de "peligrosos" así que no cuela :-P
No se ejecutan los pdfs ni los zips. No son ejecutables.
Post by Camaleón
La pregunta es que si desde un cliente windows lo puedo hacer
(ejecutar el .jar desde una unidad de red) ¿por qué desde suse con
samba no? La consola es la misma (JRE) y el peligro también :-/.
¡Pues por algo se considera al linux mas seguro que al windows! Es un
peligro que puedas ejecutar tranquilamente algo que está fuera del
ordenador. ¡No debe poder ejecutarse nada externo!

Lo que sucede es lo correcto.

- --
Saludos
Carlos E.R.
Camaleón
2008-04-17 21:54:50 UTC
Permalink
Creo que no es restricción del lenguaje. Prueba a ejecutar un script
localizado en un recurso samba de la misma forma.
Bueno, el artículo que encontré es éste:

Pitfalls of executing Java code from remote JAR files
http://www.szegedi.org/articles/remotejars.html

***
"(...) The failure of java -jar

First thing you'd be inclined to attempt is package your code into
executable JAR files (those declaring the Main-Class attribute in
their manifest), and using java -jar to launch them:

java -jar http://centralserver/mycode.jar

Sounds intuitive, doesn't it? Too bad you get this:

Unable to access jarfile http://centralserver/mycode.jar

And indeed, browsing the tools documentation in JDK docs, it
explicitly says that the -jar switch works only with a local file, not
any URL."
***

Es posible ejecutar un archivo "jar" desde una url remota con una
clase adecuada. Aunque habla del protocolo http, en mi caso sería
samba.
No se ejecutan los pdfs ni los zips. No son ejecutables.
Me lanza la aplicación asociada ¿no? Pues eso mismo quiero con el jar :-).
¡Pues por algo se considera al linux mas seguro que al windows! Es un
peligro que puedas ejecutar tranquilamente algo que está fuera del
ordenador. ¡No debe poder ejecutarse nada externo!
Lo que sucede es lo correcto.
¿Y cargar un applet en una página web no es "externo"? >:-)

Con los permisos adecuados (tanto en el cliente como en el servidor)
no debería ser ningún problema ejecutar cualquier archivo a través de
samba :-/.

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Carlos E. R.
2008-04-17 22:11:49 UTC
Permalink
Post by Camaleón
And indeed, browsing the tools documentation in JDK docs, it
explicitly says that the -jar switch works only with a local file, not
any URL."
Correcto.
Post by Camaleón
Es posible ejecutar un archivo "jar" desde una url remota con una
clase adecuada. Aunque habla del protocolo http, en mi caso sería
samba.
Post by Carlos E. R.
No se ejecutan los pdfs ni los zips. No son ejecutables.
Me lanza la aplicación asociada ¿no? Pues eso mismo quiero con el jar :-).
Y la aplicación adecuada se lanza localmente.

Como los .jar se consideran aplicaciones, no ficheros de datos, no se
pueden ejecutar remotamente.

El acrobat se carga y ejecuta localmente, y lee un fichero de datos
externo.
Post by Camaleón
Post by Carlos E. R.
¡Pues por algo se considera al linux mas seguro que al windows! Es un
peligro que puedas ejecutar tranquilamente algo que está fuera del
ordenador. ¡No debe poder ejecutarse nada externo!
Lo que sucede es lo correcto.
¿Y cargar un applet en una página web no es "externo"? >:-)
¿Y no hay muchas cosas que les están vedadas a los applets? Si quieren
leer directorios, te salta una alarma de seguridad que te pregunta si le
dejas.

Y tienes que marcar casillas en el navegador para que siquiera te deje
ejecutar javascript. Se considera peligroso.
Post by Camaleón
Con los permisos adecuados (tanto en el cliente como en el servidor)
no debería ser ningún problema ejecutar cualquier archivo a través de
samba :-/.
Pero es que esos permisos se consideran "inadecuados", y por tanto no los
tienes. Si quieres cargarte el sistema o ponerlo en riesgo, tu misma...
altera los parámetros, haz trampas.

Un recurso samba no tiene atributos tipo unix, así que se le capa. No uses
sistemas de ficheros indecentes :-P


- --
Saludos
Carlos E.R.
Camaleón
2008-04-18 06:45:35 UTC
Permalink
Y la aplicación adecuada se lanza localmente.
Como los .jar se consideran aplicaciones, no ficheros de datos, no se
pueden ejecutar remotamente.
Poder se puede, si se incluye la clase adecuada.
El acrobat se carga y ejecuta localmente, y lee un fichero de datos
externo.
Pero la máquina virtual de java la tengo instalada en local :-?
¿Y no hay muchas cosas que les están vedadas a los applets? Si quieren leer
directorios, te salta una alarma de seguridad que te pregunta si le dejas.
Sí, se pueden configurar algunas de esas cosas desde el panel de
control de java.
Y tienes que marcar casillas en el navegador para que siquiera te deje
ejecutar javascript. Se considera peligroso.
¿Peligroso? Sí, lo es... y flash, y un pdf, y un script. Y tener
activados servicios remotos como ssh, y apache... ¿no?

Vale, ahora imagina que esas aplicaciones (flash, pdf, script apache y
ssh) se ejecutan "en local" (intranet). Ya no resulta tan peligroso,
pero sigo sin poder ejecutar el jar >:-).

Lo de la seguridad es un argumento que no cuela :-P
Pero es que esos permisos se consideran "inadecuados", y por tanto no los
tienes. Si quieres cargarte el sistema o ponerlo en riesgo, tu misma...
altera los parámetros, haz trampas.
¿Trampas? No puedo, java no me lo permite :-P.
Un recurso samba no tiene atributos tipo unix, así que se le capa. No uses
sistemas de ficheros indecentes :-P
En este caso estamos hablando de samba con un ntfs detrás... pero oye,
que también tengo samba con un ext3 "detrás" ¿también es un sistema de
archivos "indecente" o podré ejecutar el jar través de samba? >:-)

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Carlos E. R.
2008-04-18 09:58:26 UTC
Permalink
Post by Carlos E. R.
El acrobat se carga y ejecuta localmente, y lee un fichero de datos
externo.
Pero la máquina virtual de java la tengo instalada en local :-?
Pero el .jar tiene consideración de código, y el .pdf de datos.
Post by Carlos E. R.
Y tienes que marcar casillas en el navegador para que siquiera te deje
ejecutar javascript. Se considera peligroso.
¿Peligroso? Sí, lo es... y flash, y un pdf, y un script. Y tener
activados servicios remotos como ssh, y apache... ¿no?
Como cliente.

Seguro que en una máquina delicada no permiten ejecutar flash.
Vale, ahora imagina que esas aplicaciones (flash, pdf, script apache y
ssh) se ejecutan "en local" (intranet). Ya no resulta tan peligroso,
pero sigo sin poder ejecutar el jar >:-).
Para ejecutar localmente normalmente se necesita el concurso del
administrador de la máquina, no basta con copiarlo localmente. Lo que pasa
es que los permisos se han facilitado.
Lo de la seguridad es un argumento que no cuela :-P
Tendrás atascado el colador :-p
Post by Carlos E. R.
Pero es que esos permisos se consideran "inadecuados", y por tanto no los
tienes. Si quieres cargarte el sistema o ponerlo en riesgo, tu misma...
altera los parámetros, haz trampas.
¿Trampas? No puedo, java no me lo permite :-P.
Montar el recurso via cifs y fstab.
Post by Carlos E. R.
Un recurso samba no tiene atributos tipo unix, así que se le capa. No uses
sistemas de ficheros indecentes :-P
En este caso estamos hablando de samba con un ntfs detrás... pero oye,
que también tengo samba con un ext3 "detrás" ¿también es un sistema de
archivos "indecente" o podré ejecutar el jar través de samba? >:-)
¡El indecente es el samba! :-P
Tenga lo que tenga detrás.

- --
Saludos
Carlos E.R.
J.M.Queralt
2008-04-17 23:39:23 UTC
Permalink
Camaleón>
Camaleón> > Un fichero JAR se ejecuta por su propia definición y por cuestiones de
Camaleón> > seguridad obvias solo en modo local, pero debe poder descargarse
Camaleón> > facilmente de un servidor.
Camaleón>
Camaleón> Pero java, precisamente, es un lenguaje orientado a Internet y
Camaleón> recursos remotos... no esperaba que tuviera esa restricción, la
Camaleón> verdad.

Cada cosa tiene su función, y los ficheros JAR se concibieron para ser
bajados del servidor y ejecutarse en modo local en la máquina cliente.

Pedirle a un JAR que se ejecute en modo remoto (en el servidor) es
despreciar a los ficheros *.class que son los que se concibieron para
eso. :-)


Camaleón> Sólo quiero ejecutar un archivo en un recurso samba, al
Camaleón> igual que hago con una imagen, un pdf o un zip... todos ellos pueden
Camaleón> ser igual de "peligrosos" así que no cuela :-P

Ya pero las cosas son como son, y el *.JAR no se parió para ser
ejecutado en el servidor.

Hay varias opciones

Si en el servidor SAMBA está el fichero class, ese es el que hay que
ejecutar.

Si el fichero class no existe entonces se descomprime el JAR, con unzip
o equivalentes, y se ejecuta el *.class que contiene.


Camaleón> La pregunta es que si desde un cliente windows lo puedo hacer
Camaleón> (ejecutar el .jar desde una unidad de red) ¿por qué desde suse con
Camaleón> samba no? La consola es la misma (JRE) y el peligro también :-/.

Eso es una pregunta capciosa. :-)

El problema está en la ejecución remota, da igual el S.O. del cliente.
En local se ejecuta en remoto no.

En Windows, en Linux, en Mac etc. podrás ejecutar un JAR si te lo bajas
de alguna parte, nunca podrás ejecutarlo en su ubicación original.

Se concibió para descargar de trabajo al servidor, no para duplicárselo.
--
Saludos,
J.M.Queralt
Carlos E. R.
2008-04-18 01:23:44 UTC
Permalink
Content-ID: <***@nimrodel.valinor>


El 2008-04-18 a las 01:39 +0200, J.M.Queralt escribió:

[ 2ndo intento de envío ]
Camaleón> La pregunta es que si desde un cliente windows lo puedo hacer
Camaleón> (ejecutar el .jar desde una unidad de red) ¿por qué desde suse con
Camaleón> samba no? La consola es la misma (JRE) y el peligro también :-/.
Eso es una pregunta capciosa. :-)
El problema está en la ejecución remota, da igual el S.O. del cliente.
En local se ejecuta en remoto no.
En Windows, en Linux, en Mac etc. podrás ejecutar un JAR si te lo bajas
de alguna parte, nunca podrás ejecutarlo en su ubicación original.
Se concibió para descargar de trabajo al servidor, no para duplicárselo.
Espera. Se trata de ejecutar localmente, en el cliente, un fichero que
reside físicamente en el servidor. Pero la ejecución es local.

- --
Saludos
Carlos E.R.
Camaleón
2008-04-18 07:03:28 UTC
Permalink
Post by J.M.Queralt
Cada cosa tiene su función, y los ficheros JAR se concibieron para ser
bajados del servidor y ejecutarse en modo local en la máquina cliente.
Claro, localmente... en la red local :-)
Post by J.M.Queralt
Pedirle a un JAR que se ejecute en modo remoto (en el servidor) es
despreciar a los ficheros *.class que son los que se concibieron para
eso. :-)
Es otra opción que estaba probando, descomprimirlo y ejecutar la clase
(hay un Launcher.class) pero ejecutado desde el recurso samba no lanza
nada (eso sí, no da ningún error de permisos), así que investigaré por
aquí.
Post by J.M.Queralt
Ya pero las cosas son como son, y el *.JAR no se parió para ser
ejecutado en el servidor.
Pues no sé... hay sistemas operativos completos hechos en java por lo
que abrir un archivo en remoto no creo que le resulte tan complicado
O:-)
Post by J.M.Queralt
Hay varias opciones
Si en el servidor SAMBA está el fichero class, ese es el que hay que
ejecutar.
Ese ejecuto, pero no lanza nada :-? Ese mismo class en local, sí lanza
la aplicación.
Post by J.M.Queralt
Si el fichero class no existe entonces se descomprime el JAR, con unzip
o equivalentes, y se ejecuta el *.class que contiene.
Eso es una pregunta capciosa. :-)
De capciosa nada, es una pregunta básica O:-) ¿para qué si no tengo
samba con los usuarios mapeados y los permisos definidos? Grrr. Samba
es como un hijo ingrato, que por mucho que te esfuerces en ayudarle y
entenderle sólo te da disgustos >:-)
Post by J.M.Queralt
El problema está en la ejecución remota, da igual el S.O. del cliente.
En local se ejecuta en remoto no.
En Windows, en Linux, en Mac etc. podrás ejecutar un JAR si te lo bajas
de alguna parte, nunca podrás ejecutarlo en su ubicación original.
Se concibió para descargar de trabajo al servidor, no para duplicárselo.
Josep, desde Windows lo ejecuto sin problemas aunque el archivo jar
esté en una unidad de red, por eso estoy en modo "rant" :-/

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Camaleón
2008-04-18 10:13:20 UTC
Permalink
¡No podrás mientras sea con samba sin montar!
Carlos, ya sé que montando lo puedo hacer sin problemas (revisa el
primer mensaje que he enviado). ¡Pero yo no preguntaba éso! >:-)
Todavía no has probado a lanzar un script cualquiera en samba.
No, pero lo que sí he probado a ejecutar ese jar desde windows
mediante samba con ext3. Y sin problemas (los clientes windows están
felices con lo que les eches)... en cuanto tenga un momento hago la
misma prueba desde suse, a ver si éste también está feliz >:-)
¿Permisos? ¿Que permisos? El samba IMITA los permisos rwx de los fichero
unix, pero no los tiene. No tiene el X, poro lo que le da el X a todos los
ficheros del sistema, absolutamente a todos, sean o no ejecutables.
¿Cómo que no lo tiene? Pues el ntfs me dice que sí, y konqueror también >:-)
Para compensar, al montar via smb:// se le desactiva ese falso permiso de
ejecución si quieres ejecutar, porque no lo ha dado el administrador local.
Al acceder vía smb:// sí veo el permiso de ejecución activado :-/
Windows no es un ejemplo válido de sistema operativo :-P
Ya... es uno de esos "males necesarios" :-)
Además, no has montado el recurso samba.
¡Que no lo quiero montar! Jupe >:-)

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Carlos E. R.
2008-04-18 18:33:41 UTC
Permalink
Post by Camaleón
... en cuanto tenga un momento hago la
misma prueba desde suse, a ver si éste también está feliz >:-)
Prueba realizada: se ejecuta a través de samba sin problemas, sin
montar nada... directamente desde konqueror :-?
Y por lo visto, el konqueror, al hacer ficheros accesibles mediante smb://
sigue esa misma política general.
Pues no... la prueba la he hecho por medio de samba (smb://) con
konqueror, sin montar nada, y ha ejecutado el .jar que está en un
disco con ext3 :-?
Curioso.

Pero será un linux.
Eso es lo que ocurre al _montar_ como _usuario_ un sistema de ficheros, sea
local o remoto. Aunque el konqueror no monte, estará aplicando esa misma
regla de no permitir la ejecución.
¿Y si entro en konqueror como usuario root y accedo al recurso? :-?
Voy a probar... pues tampoco, sale el mismo error de los permisos.
Lo habrán implementado así.
Pero te _mienten_. Samba es un sistema de ficheros que imita los de
windows, y en windows no existe el atributo "exe". Lo que hacen es aplicar
una máscara a todo el sistema de ficheros samba de manera que TODOS los
ficheros, aunque sean de texto, tengan el atributo 'x'.
Pero ntfs permite listas de control de acceso y permite definir
atributos sobre los archivos de lectura, escritura, lectura y
ejecución, modificar y control total... ¿acaso no es posible mapear
esos controles de acceso entre un sistema y otro? Eso es tarea de
samba :-/
Pero en NTFS el que un fichero sea ejectable o no depende de la extensión.
No se que atributo será el que dices, pero me sospecho que no es
"ejecutable" sino "su grupo de control de acceso le da permiso para
ejecutar", si el fichero es ejecutable.
Y no todos los archivos a los que accedo desde suse vía samba están
marcados como ejecutables.
Me sospecho que no importa.

- --
Saludos
Carlos E.R.
Camaleón
2008-04-18 15:43:06 UTC
Permalink
Post by Camaleón
... en cuanto tenga un momento hago la
misma prueba desde suse, a ver si éste también está feliz >:-)
Prueba realizada: se ejecuta a través de samba sin problemas, sin
montar nada... directamente desde konqueror :-?
Y por lo visto, el konqueror, al hacer ficheros accesibles mediante smb://
sigue esa misma política general.
Pues no... la prueba la he hecho por medio de samba (smb://) con
konqueror, sin montar nada, y ha ejecutado el .jar que está en un
disco con ext3 :-?
Eso es lo que ocurre al _montar_ como _usuario_ un sistema de ficheros, sea
local o remoto. Aunque el konqueror no monte, estará aplicando esa misma
regla de no permitir la ejecución.
¿Y si entro en konqueror como usuario root y accedo al recurso? :-?
Voy a probar... pues tampoco, sale el mismo error de los permisos.
Pero te _mienten_. Samba es un sistema de ficheros que imita los de
windows, y en windows no existe el atributo "exe". Lo que hacen es aplicar
una máscara a todo el sistema de ficheros samba de manera que TODOS los
ficheros, aunque sean de texto, tengan el atributo 'x'.
Pero ntfs permite listas de control de acceso y permite definir
atributos sobre los archivos de lectura, escritura, lectura y
ejecución, modificar y control total... ¿acaso no es posible mapear
esos controles de acceso entre un sistema y otro? Eso es tarea de
samba :-/

Y no todos los archivos a los que accedo desde suse vía samba están
marcados como ejecutables.

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Carlos E. R.
2008-04-18 12:00:49 UTC
Permalink
Post by Carlos E. R.
¡No podrás mientras sea con samba sin montar!
Carlos, ya sé que montando lo puedo hacer sin problemas (revisa el
primer mensaje que he enviado). ¡Pero yo no preguntaba éso! >:-)
Post by Carlos E. R.
Todavía no has probado a lanzar un script cualquiera en samba.
No, pero lo que sí he probado a ejecutar ese jar desde windows
mediante samba con ext3. Y sin problemas (los clientes windows están
felices con lo que les eches)... en cuanto tenga un momento hago la
misma prueba desde suse, a ver si éste también está feliz >:-)
Linux tiene la norma de que un sistema de ficheros montado por el usuario
(local o remoto) tiene el atributo noexec, con lo que cualquier fichero
que sea ejecutable, no lo puedes ejecutar, por más que te empeñes. Y si lo
consigues, es un bug que hay que arreglar.

Algunos administradores van más allá y montan Home como noexec también,
con lo que los usuarios no pueden ejecutar nada, ni local ni en red, que
no esté en los directorios del sistema que el administrador haya
permitido.

Es política de seguridad típica de linux, que windows nunca ha seguido,
para su desgracia.

Y por lo visto, el konqueror, al hacer ficheros accesibles mediante smb://
sigue esa misma política general.

Fíjate en el manual, busca noexec en ese parrafo:

mount(8)

user Allow an ordinary user to mount the file system. The name of
the mounting user is written to mtab so that he can unmount the
file system again. This option implies the options noexec,
nosuid, and nodev (unless overridden by subsequent options, as in
the option line user,exec,dev,suid).


Eso es lo que ocurre al _montar_ como _usuario_ un sistema de ficheros,
sea local o remoto. Aunque el konqueror no monte, estará aplicando esa
misma regla de no permitir la ejecución.
Post by Carlos E. R.
¿Permisos? ¿Que permisos? El samba IMITA los permisos rwx de los fichero
unix, pero no los tiene. No tiene el X, poro lo que le da el X a todos los
ficheros del sistema, absolutamente a todos, sean o no ejecutables.
¿Cómo que no lo tiene? Pues el ntfs me dice que sí, y konqueror también >:-)
Pero te _mienten_. Samba es un sistema de ficheros que imita los de
windows, y en windows no existe el atributo "exe". Lo que hacen es aplicar
una máscara a todo el sistema de ficheros samba de manera que TODOS los
ficheros, aunque sean de texto, tengan el atributo 'x'.
Post by Carlos E. R.
Para compensar, al montar via smb:// se le desactiva ese falso permiso de
ejecución si quieres ejecutar, porque no lo ha dado el administrador local.
Al acceder vía smb:// sí veo el permiso de ejecución activado :-/
El que digo no se ve, es invisible y manda más.
Post by Carlos E. R.
Windows no es un ejemplo válido de sistema operativo :-P
Ya... es uno de esos "males necesarios" :-)
Post by Carlos E. R.
Además, no has montado el recurso samba.
¡Que no lo quiero montar! Jupe >:-)
¡Pues por eso mismo!

- --
Saludos
Carlos E.R.
Carlos E. R.
2008-04-18 11:49:31 UTC
Permalink
Pos ajo y agua :-p
Muy amable, gracias :-)
Pero es que windows no me vale. No es un sistema operativo adecuado.
Lo dicho, muy amable.
O:-)
No lo tiene.
En el sistema de archivos nativo, lo tiene. Es suse que no sabe
interpretarlo bien :-P
Que no, que no lo tiene. Aunque lo tenga no lo tiene. >:-)
No lo ves >:-)
No ves lo que ves. Te engañan tus ojos. La partición está pseudomontada
"noexec", que no es lo mismo que los ficheros tengan permiso de ejecución.
¡¡Que no está pseudo-montada, rediez!!
'Claro que lo está! El konqueror hace un pseudo montaje de usuario. Algo
hace. Y al hacerlo, los atributos exec quedan supeditados a un noexec
global.
nimrodel:~ # mount | grep windows
/dev/hda1 on /windows/C type vfat
(rw,noexec,nosuid,nodev,gid=100,fmask=0117,dmask=0007,iocharset=iso8859-1,codepage=437)
..^^^^^^^
No puedes ejecutar porque tiene ese atributo que manda sobre los atributos
exec de los ficheros y los invalida. ¿Me entiendes ahora?
//servidor/documentos on /mnt type cifs (rw,mand)
Y sin problemas para ejecutar el jar si lo pongo ahí.
¿Quien lo ha montado, root? Si es root, vale, si no es root, se monta
noexec. Viene en el manual.
Pos ajo y agua, 2 :-P
Ya, bueno... pues nada, gracias 2 :-)
A mandar, ya sabes ;-)

- --
Saludos
Carlos E.R.
Camaleón
2008-04-18 11:08:35 UTC
Permalink
Pos ajo y agua :-p
Muy amable, gracias :-)
Pero es que windows no me vale. No es un sistema operativo adecuado.
Lo dicho, muy amable.
No lo tiene.
En el sistema de archivos nativo, lo tiene. Es suse que no sabe
interpretarlo bien :-P
No lo ves >:-)
No ves lo que ves. Te engañan tus ojos. La partición está pseudomontada
"noexec", que no es lo mismo que los ficheros tengan permiso de ejecución.
¡¡Que no está pseudo-montada, rediez!!
nimrodel:~ # mount | grep windows
/dev/hda1 on /windows/C type vfat
(rw,noexec,nosuid,nodev,gid=100,fmask=0117,dmask=0007,iocharset=iso8859-1,codepage=437)
.....................................^^^^^^^
No puedes ejecutar porque tiene ese atributo que manda sobre los atributos
exec de los ficheros y los invalida. ¿Me entiendes ahora?
No, no te entiendo. Tras montarla:

***@stthpc:~> mount | grep cifs
//servidor/documentos on /mnt type cifs (rw,mand)

Y sin problemas para ejecutar el jar si lo pongo ahí.
Pos ajo y agua, 2 :-P
Ya, bueno... pues nada, gracias 2 :-)

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Carlos E. R.
2008-04-18 10:41:22 UTC
Permalink
Post by Carlos E. R.
¡No podrás mientras sea con samba sin montar!
Carlos, ya sé que montando lo puedo hacer sin problemas (revisa el
primer mensaje que he enviado). ¡Pero yo no preguntaba éso! >:-)
Pos ajo y agua :-p
Post by Carlos E. R.
Todavía no has probado a lanzar un script cualquiera en samba.
No, pero lo que sí he probado a ejecutar ese jar desde windows
mediante samba con ext3. Y sin problemas (los clientes windows están
felices con lo que les eches)... en cuanto tenga un momento hago la
misma prueba desde suse, a ver si éste también está feliz >:-)
Pero es que windows no me vale. No es un sistema operativo adecuado.
Post by Carlos E. R.
¿Permisos? ¿Que permisos? El samba IMITA los permisos rwx de los fichero
unix, pero no los tiene. No tiene el X, poro lo que le da el X a todos los
ficheros del sistema, absolutamente a todos, sean o no ejecutables.
¿Cómo que no lo tiene? Pues el ntfs me dice que sí, y konqueror también >:-)
No lo tiene.
Post by Carlos E. R.
Para compensar, al montar via smb:// se le desactiva ese falso permiso de
ejecución si quieres ejecutar, porque no lo ha dado el administrador local.
Al acceder vía smb:// sí veo el permiso de ejecución activado :-/
No lo ves >:-)

No ves lo que ves. Te engañan tus ojos. La partición está pseudomontada
"noexec", que no es lo mismo que los ficheros tengan permiso de ejecución.

Me refiero a esto:

nimrodel:~ # mount | grep windows
/dev/hda1 on /windows/C type vfat (rw,noexec,nosuid,nodev,gid=100,fmask=0117,dmask=0007,iocharset=iso8859-1,codepage=437)
.....................................^^^^^^^

No puedes ejecutar porque tiene ese atributo que manda sobre los atributos
exec de los ficheros y los invalida. ¿Me entiendes ahora?
Post by Carlos E. R.
Windows no es un ejemplo válido de sistema operativo :-P
Ya... es uno de esos "males necesarios" :-)
Post by Carlos E. R.
Además, no has montado el recurso samba.
¡Que no lo quiero montar! Jupe >:-)
Pos ajo y agua, 2 :-P

- --
Saludos
Carlos E.R.
Carlos E. R.
2008-04-18 09:41:28 UTC
Permalink
Si en el servidor SAMBA está el fichero class, ese es el que hay que
ejecutar.
Ese ejecuto, pero no lanza nada :-? Ese mismo class en local, sí lanza
la aplicación.
¡No podrás mientras sea con samba sin montar!

Todavía no has probado a lanzar un script cualquiera en samba.
Eso es una pregunta capciosa. :-)
De capciosa nada, es una pregunta básica O:-) ¿para qué si no tengo
samba con los usuarios mapeados y los permisos definidos? Grrr. Samba
es como un hijo ingrato, que por mucho que te esfuerces en ayudarle y
entenderle sólo te da disgustos >:-)
¿Permisos? ¿Que permisos? El samba IMITA los permisos rwx de los fichero
unix, pero no los tiene. No tiene el X, poro lo que le da el X a todos los
ficheros del sistema, absolutamente a todos, sean o no ejecutables. Para
compensar, al montar via smb:// se le desactiva ese falso permiso de
ejecución si quieres ejecutar, porque no lo ha dado el administrador
local.
El problema está en la ejecución remota, da igual el S.O. del cliente.
En local se ejecuta en remoto no.
En Windows, en Linux, en Mac etc. podrás ejecutar un JAR si te lo bajas
de alguna parte, nunca podrás ejecutarlo en su ubicación original.
Se concibió para descargar de trabajo al servidor, no para duplicárselo.
Josep, desde Windows lo ejecuto sin problemas aunque el archivo jar
esté en una unidad de red, por eso estoy en modo "rant" :-/
Windows no es un ejemplo válido de sistema operativo :-P


Además, no has montado el recurso samba.

- --
Saludos
Carlos E.R.
J.M.Queralt
2008-04-17 20:06:44 UTC
Permalink
Camaleón> He estado buscando más información sobre el tipo de recurso que admite
Camaleón> el argumento "-jar" de java y parece que sólo permite archivos locales

Un momento, "jar" no es un argumento, bueno si lo es, pero su función
es simplemente permitir crear un tipo de fichero (basado en en el
formato zip) llamado ".jar"

Un archivo "*.jar" es un "contenedor" de todos los ficheros que
conforman una aplicación java y su principal función consiste
precisamente en instalarse en el ordenador cliente para no "cargar" el
servidor en la ejecución del "applet" o de la aplicación".

En otras palabras lo que hace es enviarse al cliente un único fichero
"jar" con todos los ficheros de la aplicación para que pueda ejecutarse
en modo local sin necesidad de descargar nuevamente desde el servidor.

Para más info, la página oficial de Sun sobre el formato JAR.

http://java.sun.com/docs/books/tutorial/deployment/jar/

Un fichero JAR se ejecuta por su propia definición y por cuestiones de
seguridad obvias solo en modo local, pero debe poder descargarse
facilmente de un servidor.

Normalmente eso ocurre cuando se llama por primera vez al "applet" o
aplicación java que acostumbran a usar la extensión *.class

El entorno "natural" de un archivo "jar" es el protocolo HTTP y el
lenguaje HTML, algo así como

<Applet Codebase="JAVA-CODE/" Code="applet.class" Name="nombreapplet" archive="applet.jar">

En otros ambientes debe usarse el propio compilador java, sus variables
de entorno y su fichero de configuración para establecer los permisos de
ejecución.
--
Saludos,
J.M.Queralt
Carlos E. R.
2008-04-17 19:13:08 UTC
Permalink
Tengo un archivo ".jar" ubicado en un recurso samba que me gustaría
ejecutar desde suse.
***
Unable to access jarfile smb://servidor/directorio/archivo.jar
***
Me sospecho que el recurso está montado sin permisos de ejecución, lo cual
es lo que va a ocurrir si lo montas como usuario, tal como haría el
konqueror.
"(...) file does not have execute permission... please, fix"
Eso.
Pero desde konqueror veo que sí tiene permisos de ejecución para el
usuario :-? Además, todos los archivos que vienen de samba tienen
este permiso "añadido".
Sí, el atributo del fichero, pero no "la partición".
...
Lo lanza sin problemas (salvo el aviso que da).
Coincide todo.
Pregunta ¿cómo lo lanzo accediendo al recurso samba... es posible? :-?
Sé que puedo montar (mount -t cifs...) el recurso y ejecutar el
archivo .jar pero me gustaría ver la forma de hacerlo sin tener que
montarlo.
Pues me parece que tienes que montarlo, con atributo "exec" explícito si
lo montas como usuario.

- --
Saludos
Carlos E.R.
Carlos E. R.
2008-04-17 19:16:26 UTC
Permalink
Post by Carlos E. R.
Pues me parece que tienes que montarlo, con atributo "exec" explícito si
lo montas como usuario.
Con la pega que entonces resultarán ejecutables hasta los ficheros de
word, con el peligro que tiene.

Mejor que lo copies localmente. O que exportes el recurso via NFS.

- --
Cheers,
Carlos E. R.
Camaleón
2008-04-17 20:40:15 UTC
Permalink
Me sospecho que el recurso está montado sin permisos de ejecución, lo cual
es lo que va a ocurrir si lo montas como usuario, tal como haría el
konqueror.
No lo "monto"... accedo O:-).
Eso.
Hum... El archivo en el servidor tiene permisos de ejecución para los
usuarios y conecto como usuario, y konqueror me dice que tiene
permisos de ejecución :-?
Sí, el atributo del fichero, pero no "la partición".
No, es la partición completa. Tiene permisos heredados.
Coincide todo.
Pues no sé...
Pues me parece que tienes que montarlo, con atributo "exec" explícito si lo
montas como usuario.
Si lo monto no tengo ningún problema... pero la idea es "no montarlo" >:-)

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Carlos E. R.
2008-04-17 21:13:31 UTC
Permalink
Post by Camaleón
Post by Carlos E. R.
Me sospecho que el recurso está montado sin permisos de ejecución, lo cual
es lo que va a ocurrir si lo montas como usuario, tal como haría el
konqueror.
No lo "monto"... accedo O:-).
Post by Carlos E. R.
Eso.
Hum... El archivo en el servidor tiene permisos de ejecución para los
usuarios y conecto como usuario, y konqueror me dice que tiene
permisos de ejecución :-?
Post by Carlos E. R.
Sí, el atributo del fichero, pero no "la partición".
No, es la partición completa. Tiene permisos heredados.
Pero es un montaje virtual, de alguna manera. A las particiones windows se
le da atributo ejecutable a todos los ficheros, lo cual es absurdo. Una
manera de enmendarle la plana es que el sistema se niega a ejecutarlos
aunque estén aparentemente marcados como ejecutables. Y en man mount
indica que al montar algo como usuario automáticamente ya no es
ejecutable... pues ya lo tienes.
Post by Camaleón
Post by Carlos E. R.
Coincide todo.
Pues no sé...
Post by Carlos E. R.
Pues me parece que tienes que montarlo, con atributo "exec" explícito si lo
montas como usuario.
Si lo monto no tengo ningún problema... pero la idea es "no montarlo" >:-)
Pues lo copias localmente. Es lo que yo haría.

- --
Saludos
Carlos E.R.
Camaleón
2008-04-17 21:29:02 UTC
Permalink
Post by Carlos E. R.
Pero es un montaje virtual, de alguna manera. A las particiones windows se
le da atributo ejecutable a todos los ficheros, lo cual es absurdo. Una
manera de enmendarle la plana es que el sistema se niega a ejecutarlos
aunque estén aparentemente marcados como ejecutables. Y en man mount indica
que al montar algo como usuario automáticamente ya no es ejecutable... pues
ya lo tienes.
Era más bien simple "curiosidad". Vamos, que no es un problema de tipo
"blocker", tengo alternativas para obtener el mismo resultado :-)

La pega es que montar la partición completa sólo para un ejecutar un
archivo "de uvas a peras" pues no lo veía práctico, nada más.
Post by Carlos E. R.
Pues lo copias localmente. Es lo que yo haría.
Que es como lo tenía (tengo) :-P

Pero la idea es que ese archivo está disponible para todos los
clientes y cuando se actualiza el programa (el .jar) pues sólo lo
tengo que cambiar un único archivo, no ir equipo por equipo copiando y
pegando el archivo o pasándolo por la red.

Sólo quería ver la posibilidad de hacer lo mismo que hacen el resto de
estaciones de trabajo, pensaba que podría estar pasando por alto algún
parámetro...

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Carlos E. R.
2008-04-17 22:16:42 UTC
Permalink
...
La pega es que montar la partición completa sólo para un ejecutar un
archivo "de uvas a peras" pues no lo veía práctico, nada más.
Bueno... yo tengo montadas 15 particiones más o menos, y no estoy
usandolas todas continuamente.
Post by Carlos E. R.
Pues lo copias localmente. Es lo que yo haría.
Que es como lo tenía (tengo) :-P
Pero la idea es que ese archivo está disponible para todos los
clientes y cuando se actualiza el programa (el .jar) pues sólo lo
tengo que cambiar un único archivo, no ir equipo por equipo copiando y
pegando el archivo o pasándolo por la red.
Pues lo exportas vía NFS. O lo importas via CIFS completo, pero ojo, que
entonces podrías incluso intentar ejecutar los ficheros .doc de word,
porque todo está marcado como ejecutable.

O pones un script que lo copie localmente cuando cambie.

O lo exportas via apache, aunque no se si dejará ejecutar.
Sólo quería ver la posibilidad de hacer lo mismo que hacen el resto de
estaciones de trabajo, pensaba que podría estar pasando por alto algún
parámetro...
Monta de verdad. Pero cuidado, que todos serán ejecutables. Hacerlo con
konqueror tiene sus limitaciones.

- --
Saludos
Carlos E.R.
J.M.Queralt
2008-04-17 23:38:58 UTC
Permalink
Camaleón>
Camaleón> La pega es que montar la partición completa sólo para un ejecutar un
Camaleón> archivo "de uvas a peras" pues no lo veía práctico, nada más.

No es un "problema" del sistema, carece de permisos porque JAR no se
ejecuta en remoto, es el JAVA local quien denegará la ejecución de un
JAR remoto.

Camaleón> > Pues lo copias localmente. Es lo que yo haría.

O lo descomprimes en el lugar remoto y ejecutas, remotamente, el fichero
"*.class" que contiene


Camaleón> Pero la idea es que ese archivo está disponible para todos los
Camaleón> clientes y cuando se actualiza el programa (el .jar) pues sólo lo
Camaleón> tengo que cambiar un único archivo, no ir equipo por equipo copiando y
Camaleón> pegando el archivo o pasándolo por la red.

Entonces es que el Administrador o, mucho peor, el Programador no tiene
las ideas demasiado claras sobre lo que es el JAVA.
--
Saludos,
J.M.Queralt
Miguel
2008-04-18 07:40:12 UTC
Permalink
Post by Camaleón
Pero la idea es que ese archivo está disponible para todos los
clientes y cuando se actualiza el programa (el .jar) pues sólo lo
tengo que cambiar un único archivo, no ir equipo por equipo copiando y
pegando el archivo o pasándolo por la red.
Eso en java se hace mediante Java Web Star. No lo he usado casi pero
esa es la idea. Es una aplicación que al menos en win se instala con
java (no estoy seguro si con con el runtime environment también), que
gestiona el descargarse un jar y ejecutarlo. También comprueba si hay
nuevas versiones y se las baja si es necesario. El ejcutable es
javaws.

Eso sí, creo que necesitas un servidor web para que proporcione el
enlace (y supongo que el jar).

Si te interesa, me lo puedo mirar un poco y echarte un cable.

Miki
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Carlos E. R.
2008-04-18 09:50:46 UTC
Permalink
Post by Miguel
Eso en java se hace mediante Java Web Star. No lo he usado casi pero
esa es la idea. Es una aplicación que al menos en win se instala con
java (no estoy seguro si con con el runtime environment también), que
gestiona el descargarse un jar y ejecutarlo. También comprueba si hay
nuevas versiones y se las baja si es necesario. El ejcutable es
javaws.
Viene en suse. O vino, yo lo tengo pero no viene de ningún rpm. Ah, vale,
es el symlink; viene en "java-1_6_0-sun-1.6.0.u5-0.1...rpm"


javaws - Java Web Start launcher command

DESCRIPTION

The javaws command launches Java Web Start, which is the reference
implementation of the Java Network Launching Protocol (JNLP). Java
Web Start launches Java applications/applets hosted on a network.


Without any options javaws will launch the Java JNLP Application
Manager, from which users can launch applications/applet or
configure Java Web Start.


If a URL for a JNLP file is specified, javaws will launch the Java
application/applet specified in the JNLP file.



- --
Saludos
Carlos E.R.
Camaleón
2008-04-18 09:33:45 UTC
Permalink
Post by Miguel
Eso en java se hace mediante Java Web Star. No lo he usado casi pero
esa es la idea. Es una aplicación que al menos en win se instala con
java (no estoy seguro si con con el runtime environment también), que
gestiona el descargarse un jar y ejecutarlo. También comprueba si hay
nuevas versiones y se las baja si es necesario. El ejcutable es
javaws.
javaws está instalado en los dos JRE, en win y en suse pero no sé qué
hacer con esa aplicación :-?
Post by Miguel
Eso sí, creo que necesitas un servidor web para que proporcione el
enlace (y supongo que el jar).
Lo del servidor web no me hace gracia y no lo veo lógico tampoco :-/.
Mi intención sólo era ejecutar una aplicación que está en un recurso
de red local (samba) nada más O:-).

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Carlos E. R.
2008-04-18 19:46:16 UTC
Permalink
¿Pero lo has probado? Has probado a copiar ese jar a un apache y probar a
ejecutar desde ahí con javaws?
Sí. Pero sin Tomcat ni los tipos mime configurados :-P
Me dice "Loading java..." Error de ejecución: no es posible ejecutar
la aplicación especificada.
Es normal, además por muchas otras razones* (no es un archivo
preparado para ser lanzado mediante javaws, no tiene extensión
.jnlp...) el programa necesita escribir en el directorio /home del
usuario para almacenar las preferencias y los datos de configuración
del propio programa.
Ah.... vale, que el jar debe estar preparado para ese tipo de uso también.
Vaya.


- --
Saludos
Carlos E.R.
Camaleón
2008-04-18 19:25:39 UTC
Permalink
¿Pero lo has probado? Has probado a copiar ese jar a un apache y probar a
ejecutar desde ahí con javaws?
Sí. Pero sin Tomcat ni los tipos mime configurados :-P

Me dice "Loading java..." Error de ejecución: no es posible ejecutar
la aplicación especificada.

Es normal, además por muchas otras razones* (no es un archivo
preparado para ser lanzado mediante javaws, no tiene extensión
.jnlp...) el programa necesita escribir en el directorio /home del
usuario para almacenar las preferencias y los datos de configuración
del propio programa.

Pero por ejemplo, esta otra aplicación (sólo es una ventana de
muestra) sí se lanza bien:

***
javaws http://my.opera.com/Mr%20Green/homes/dist/JWSTest.jnlp
***

* Deploying Software with JNLP and Java Web Start
http://java.sun.com/developer/technicalArticles/Programming/jnlp/

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Carlos E. R.
2008-04-18 19:00:52 UTC
Permalink
SYNOPSIS
javaws [ options ] [ URL ]
Es url, no path. O sea, http:// o quizás ftp://
Ya... quiero decir que el archivo jar que ejecuto (la aplicación) no
está preparada para trabajar de esa forma.
¿Pero lo has probado? Has probado a copiar ese jar a un apache y probar a
ejecutar desde ahí con javaws?

- --
Saludos
Carlos E.R.
Camaleón
2008-04-18 18:33:13 UTC
Permalink
SYNOPSIS
javaws [ options ] [ URL ]
Es url, no path. O sea, http:// o quizás ftp://
Ya... quiero decir que el archivo jar que ejecuto (la aplicación) no
está preparada para trabajar de esa forma.

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Carlos E. R.
2008-04-18 18:30:03 UTC
Permalink
Ponle un apache al servidor samba.
Tampoco sirve.
El programa no está desarrollado para ser ejecutado de esa forma, no
funcionaría :-/
El javaws sí:

SYNOPSIS
javaws [ options ] [ URL ]


Es url, no path. O sea, http:// o quizás ftp://



- --
Saludos
Carlos E.R.
Carlos E. R.
2008-04-18 18:15:39 UTC
Permalink
Vale, eso me parece más lógico porque "smb://" no es el protocolo
soportado por javaws ni la aplicación que estoy intentando ejecutar
está preparada para ejecutarse con este método.
Ponle un apache al servidor samba.
En cuanto a la seguridad, al ser ejecutado desde un recurso remoto,
entiendo que le afectan los mismos parámetros definidos para el resto
de applets en el panel de control de java (es decir, se ejecutan en
una especie de "caja de arena" con accesos y permisos restringidos)
:-?
El javaws es local.

- --
Saludos
Carlos E.R.
Camaleón
2008-04-18 18:20:16 UTC
Permalink
Ponle un apache al servidor samba.
Tampoco sirve.

El programa no está desarrollado para ser ejecutado de esa forma, no
funcionaría :-/

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Camaleón
2008-04-18 15:18:10 UTC
Permalink
Post by Camaleón
javaws está instalado en los dos JRE, en win y en suse pero no sé qué
hacer con esa aplicación :-?
O.k.

Con "javaws" (man javaws) es posible ejecutar aplicaciones y applets
remotos vía "http://" pero las aplicaciones deben estar preparadas
para soportar el protocolo "jnlp".

Bien :-).

¿Qué sucede si ejecuto...?

***
javaws smb://servidor/directorio/aplicacion.jar
***

Pues que lanza la consola (Java loading...) sin errores de permisos de
ejecución O:-) pero me saca el siguiente error:

***
"Error de argumento no válido"

La excepción es:

java.io.FileNotFoundException: smb:/servidor/directorio/aplicacion.jar
(No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(LaunchDescFactory.java:112)
at com.sun.javaws.Main.launchApp(Main.java:182)
at com.sun.javaws.Main.main(Main.java:136)
***

Vale, eso me parece más lógico porque "smb://" no es el protocolo
soportado por javaws ni la aplicación que estoy intentando ejecutar
está preparada para ejecutarse con este método.

En cuanto a la seguridad, al ser ejecutado desde un recurso remoto,
entiendo que le afectan los mismos parámetros definidos para el resto
de applets en el panel de control de java (es decir, se ejecutan en
una especie de "caja de arena" con accesos y permisos restringidos)
:-?

Saludos,
--
Camaleón
---------------------------------------------------------------------
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+***@opensuse.org
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+***@opensuse.org
Loading...