In einer gespeicherten Prozedur in DB2 muss ich Informationen zu Benutzergruppen nachschlagen. DB2 hat hierfür keine integrierte Funktionalität, daher scheint es, dass ich hierfür eine benutzerdefinierte Funktion oder eine benutzerdefinierte Prozedur schreiben muss. In der Praxis muss das Java geschrieben sein.Auflisten von Benutzergruppen in Java
Also, in Java: Wie kann ich abfragen, aus welchen Gruppen ein Benutzer Mitglied ist, wie vom Betriebssystem aus gesehen? Alternativ: Wenn Sie einen Gruppennamen vergeben, erhalten Sie eine Liste mit Benutzernamen für Gruppenmitglieder.
Der Ansatz muss auf Linux funktionieren (es wäre nett, wenn es Betriebssystem Agnostic wäre, aber das ist nicht wichtig).
Der Ansatz muss alle Autorisierungsintegrationen berücksichtigen, die im Betriebssystem konfiguriert sind. Mit anderen Worten: Wenn das Betriebssystem für die Verwendung von SSSD zur Benutzerautorisierung eingerichtet wurde, sollte der Java-Code nicht darauf angewiesen sein, Gruppenmitgliedschaften in der/etc/group zu finden.
Also ich möchte in der Lage sein, das Äquivalent des Linux Shell-Befehls "id USERNAME" oder "getent group GROUPNAME" von Java zu tun. Python hat das Modul "grp" für diese Art von Aufgabe, aber ich habe noch nichts Ähnliches für Java gefunden.
Vorzugsweise sollte sich die Lösung auf so wenige externe Bibliotheken wie möglich stützen. Es wäre am besten, wenn es nur auf APIs zurückgreifen würde, die Teil einer einigermaßen modernen JRE sind.
Sorry, falsche Sprache. Java versucht plattformunabhängig zu sein, also kümmert es sich nicht um solche Dinge. Google kann jemanden aufstellen, der etwas implementiert hat, das Ihnen hilft. –
Sie können einen Systembefehl von Java ausführen und die Ausgabe parsen. – Henry
John: Ich muss Java dafür verwenden. Bitte sagen Sie mir nicht zu Google; Es gibt einen Grund, warum ich die Frage gestellt habe: Google hat nichts Nützliches ergeben. –