Soy nuevo en Java. ¿Dónde está umask expuesto en la api?¿Cómo puedo configurar umask desde dentro de java?
Respuesta
No se puede jugar con la máscara de usuario directamente, ya que Java es una abstracción y la máscara de usuario es específico POSIX-aplicación. Sin embargo, usted tiene las siguientes API:
File f;
f.setExecutable(true);
f.setReadable(false);
f.setWritable(true);
Hay algunos más API disponibles, check the docs.
Si debe tiene acceso directo a la máscara de usuario, o bien lo hace a través de JNI y el chmod()
de llamada al sistema o generar un nuevo proceso con exec("chmod")
.
java.nio.file.attribute.PosixFileAttributes
en Java SE 7.
No encontré ninguna función allí para configurar umask específicamente, solo permisos de archivos. – Nakedible
@Nakedible Sí. –
Otro enfoque es utilizar una biblioteca de Java tercera partes que se expone a las llamadas del sistema POSIX; p.ej.
- Jtux
- La biblioteca "Posix for Java",
- y así sucesivamente (en Google de "biblioteca POSIX java").
El problema con este enfoque es que es intrínsecamente no portátil (no funcionará en una plataforma no compatible con POSIX), y requiere una biblioteca nativa específica de la plataforma ... y todo lo que eso conlleva.
- 1. ¿Puedo establecer umask para tempfile.NamedTemporaryFile en python?
- 2. R desde dentro de Java
- 3. java c3p0: ¿cómo puedo configurar autoreconnect = true?
- 4. Nginx/php-fpm umask configuración
- 5. ¿Cómo puedo hacer un JAR desde .java
- 6. utilizar Python desde dentro de Java
- 7. Java: cómo configurar htmlunit
- 8. ¿Por qué usarías umask?
- 9. ¿Cómo establecer umask en todo el sistema?
- 10. ¿Cómo puedo configurar RenderingHints globalmente?
- 11. ¿Configura umask para una cuenta sftp?
- 12. ¿Cómo puedo generar RTF desde Java?
- 13. ¿Cómo puedo llamar a Perl desde Java?
- 14. ¿Cómo puedo enviar un SMS desde Java?
- 15. ¿Puedo llamar a startActivity() desde dentro onResume()?
- 16. dentro de Android Dialog, cómo configurar onActivityResult para startActivityForResult?
- 17. ¿Cómo puedo crear una nueva ventana desde dentro de QML?
- 18. ¿Cómo puedo ejecutar Cygwin Bash Shell desde dentro de Emacs?
- 19. ¿Cómo puedo configurar el mensaje en una excepción en JAVA?
- 20. Java/Swing: Obtenga Window/JFrame desde dentro de un JPanel
- 21. Configuración de umask en Git/Gitolite
- 22. ¿Cómo puedo configurar la variable de PATH de Windows desde Perl?
- 23. Cómo configurar moneda en java?
- 24. ¿Cómo puedo identificar al host de Selenium Grid ejecutando mi prueba desde dentro de la prueba?
- 25. php umask (0) ¿cuál es el propósito
- 26. cómo configurar juntura de Java con Teamcity?
- 27. desde dentro de un anidado de Java ActionListener
- 28. ¿Cómo puedo configurar mi Cygwin PATH para encontrar javac?
- 29. Cómo configurar el diseño desde el controlador
- 30. ¿Cómo puedo configurar un controlador global DeadlineExceededError?
Hm interesante, gracias. Supongo que puedo usar JNI para llamar a umask (2), entonces? – eeee
@eeee seguro, pero que tendría que desplegar el módulo JNI para todas las plataformas que desea apoyar, ya que es, casi por definición plataforma dependiente. – extraneon
@extraneon sí, por supuesto. Para ser honesto, estoy muy sorprendido de que nadie haya hecho un módulo para Java que exponga todas las interfaces posix. Quiero decir, eso no puede ser correcto, ¿no? ¿Cómo realizan las personas las actividades del sistema en Java sin este tipo de cosas? – eeee