Los volcados del almacenamiento dinámico Java generados en una máquina Linux (y muy probablemente también en máquinas Unix) tienen acceso restringido. El montón solo puede ser leído por el propietario del proceso (la máscara de ACL se establece en 600). Entiendo que esto es por razones de seguridad. Sin embargo, no pude encontrar ninguna documentación que haga referencia o explique el comportamiento. ¿Alguien puede indicarme la documentación (si corresponde)? Además, ¿hay alguna manera de anular este comportamiento?Permisos de volcado del montón Java
Respuesta
El volcado de pila está escrito por el proceso de JVM, que se ejecuta como un usuario particular. Al igual que cualquier archivo creado por cualquier proceso de Linux, será propiedad de ese usuario.
Si desea la documentación actual, here it is. Mira la descripción bajo O_CREAT
.
No creo que sea como crear cualquier otro archivo por el mismo usuario. En mi entorno, hev umask para el usuario configurado en 022. Cuando creo un archivo usando touch, los permisos de archivo son 644 (rw-r-r-). De hecho, incluso los archivos de registro generados por el proceso java tienen permisos según lo dictado por umask. Sin embargo, el volcado de pila está siempre en 600 (rw ----). Creo que JVM está estableciendo permssns debido a problemas de seguridad (bcos heap puede contener datos confidenciales) o usando una llamada al sistema que causa esto. Estoy buscando documentación que lo explique y cualquier medio para anularlo (chmod después de que h-dump no sea un optn) –
Si está interesado en la parte interna de JVM profunda, puede consultar el código fuente de OpenJDK.
Aquí hay un enlace para el servicio HeapDumper: http://hg.openjdk.java.net/jdk7/jdk7/hotspot/file/9b0ca45cd756/src/share/vm/services/heapDumper.cpp
Si se mira en, verá JVM es la creación de archivos binarios con S_IREAD | S_IWRITE
4373 // create binary file, rewriting existing file if required
4374 int os::create_binary_file(const char* path, bool rewrite_existing) {
4375 int oflags = O_WRONLY | O_CREAT;
4376 if (!rewrite_existing) {
4377 oflags |= O_EXCL;
4378 }
4379 return ::open64(path, oflags, S_IREAD | S_IWRITE);
4380 }
- 1. Datos confidenciales en los volcados del montón de java
- 2. Solicitar el volcado del he va en java (volcado del núcleo) desde la aplicación
- 3. ¿Incluye un volcado del heap Java pilas de hilos
- 4. ¿Qué significan esos extraños nombres de clase en un volcado de un montón de Java?
- 5. Dónde encontrar el volcado del montón después de una "memoria insuficiente"
- 6. ¿Cómo obtener la dirección de memoria del montón de Java?
- 7. Asignación de memoria del montón y pila de Java
- 8. ¿aumenta el tamaño del montón de Java de forma permanente?
- 9. espacio en el montón de Java en netbeans ... ¡pero ya he aumentado el tamaño del montón!
- 10. Terminología del montón de Java: ¿generaciones jóvenes, viejas y permanentes?
- 11. cómo aumentar la memoria del montón de Java permanentemente?
- 12. Crear un volcado de almacenamiento en java desde un volcado de memoria de Windows
- 13. ¿Puede anular los permisos de archivo para el volcado de pila producido por -XX + HeapDumpOnOutOfMemoryError?
- 14. kill -3 para obtener el volcado del hilo java
- 15. No se puede ejecutar dex: espacio de montón de Java espacio de montón de Java
- 16. Programemente obtener información del montón usando jmx con java 5
- 17. Java JDBC clearBatch() y la memoria del montón
- 18. Vaciado de volcado webstart de Java
- 19. Cómo depurar problemas de corrupción del montón de JNI?
- 20. Volcado del núcleo en Linux
- 21. obteniendo stacktrace del volcado del núcleo
- 22. java.lang.OutOfMemoryError: espacio en el montón de Java
- 23. Incrementando los permisos de semáforo, en Java
- 24. ¿Analizar el volcado de bloqueo en WinDbg para bytes privados (que no sean el montón administrado)?
- 25. Python: eliminar elemento del montón
- 26. Permisos de archivos Java para hilos
- 27. La estimación del tamaño del montón de JVM máxima de seguridad en Java de 64 bits
- 28. JAVA_OPTS para aumentar el tamaño del montón
- 29. Volcado de importación del desarrollador PL/SQL
- 30. Análisis de volcado del núcleo utilizando gdb
No es una respuesta completa, pero vertederos hilo puede contener ** realmente ** información confidencial, incluida la contraseña de su base de datos. Así que será mejor que los mantengan a salvo. –
Anularlo con 'chmod' ...? –