İpucu

JMX ile Erişime Kullanıcı Adı ve Şifre Kontrolü Koymak

Bir uygulamayı JConsole gibi araçlarla erişebilecek şekide JMX desteği eklenebilir. Bu sayfada bu desteğin nasıl ekleneceği görülebilir : www.fibiler.com/Bir-Java-Uygulamasini-JConsole-ile-Erisilebilir-Yapilmasi_Ipucu_148134
Ancak bu durumda herkes JConsole ile uygulamanıza erişlebilir. Bunu engellemek için basit bir username, password kontrolü eklenebilir. Bunun için iki dosya yaratırlması gerekir. Örneğin şifre bilgisinin saklandığı dosya içeriği aşağıdaki gibi olsun :
admin Admin123.
Bu dosyayı bir yere jmxremote.password adıyla kaydedelim. Burada admin adlı bir kullanıcı tanımlıyoruz ve şifresi de Admin123. oluyor.
Bu kullanıcının yetkilerini tanımlamak içinse aşağıdaki gibi bir dosya yaratalım :
admin readwrite
Bu kullanıcıya read (okuma) ve write (yazma) yetkisi verildi.
Bu dosyaları uygulamanız çalıştırırken aşağıdaki gibi vermeniz gerekir :
-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=E:\jmxremote.password -Dcom.sun.management.jmxremote.access.file=E:\jmxremote.access -Dcom.sun.management.jmxremote.ssl=false
Görüldüğü gibi -Dcom.sun.management.jmxremote.authenticate değeri true olarak verilmiş ve username/şifre dosyası ile role tanımının yapıldığı dosya verilmiştir. Bu uygulamayı çalıştırdığınızda aşağıdaki hatayı alabilirsiniz:
Error: Password file read access must be restricted: Q:\jmx.password
sun.management.AgentConfigurationError
	at sun.management.jmxremote.ConnectorBootstrap.checkPasswordFile(Unknown Source)
	at sun.management.jmxremote.ConnectorBootstrap.startRemoteConnectorServer(Unknown Source)
	at sun.management.Agent.startAgent(Unknown Source)
	at sun.management.Agent.startAgent(Unknown Source)

Bu hata dosyaların yetkilerinin düzenlenmediği anlamına gelir. Yani jmx.password ve jmxremote.password dosyası Java uygulamasını çalıştıran uygulamlara okuma yetkisi verilmeli. Diğer tüm kullanıcılardan da yetkisi kaldırılmalıdır. Linux'da chmod 600 şeklinde bir dosyada sadece kullanıcıya rw yetkisi verilmesi sağlanabilir. Windows'da da Securty tabından yetkiler düzenlenebilir.
Bu işlemi yaptıktan sonra localhost:9999 sunucusuna bağlanırken username ve password girmeniz gerekir.
zafer.teker , 22.04.2025

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir