Eine gute Übersicht über diverse Möglichkeiten bietet
https://www.baeldung.com/spring-boot-shutdown
Aber generell ist der korrekte Weg auf einem Linux System, dass man init.d oder systemd verwendet, was in der Spring Dokumentation ja auch beschrieben ist (und das ich ja nach Deiner Aussage auch schon macht):
https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html
Daher ist dies tatsächlich lediglich eine Frage der Administration! Und da sollen die Admins das machen, was Sie für richtig erachten.
Einen Workaround wie teilweise im ersten Link beschrieben, lehne ich ab.
Als ganz klar: Kein besserer Weg sondern ein schlechterer Weg und es vermengt die Aufgaben. Die Administratoren sind nun einmal verantwortlich für die Services.
Die Admins werden da bestimmt schon eine Lösung haben. Falls sudo nicht mehr das Tool der Wahl ist, dann haben sie ggf. andere Lösungen. Diese Lösungen laufen meist unter einem anderen User durch ein sogenanntes setuid-Flag des Binaries (so hat sudo ein setuid-Flag und gehört root, so dass es immer als root läuft).
Ansonsten kann man eine Spring Boot Applikation ja auch laufen lassen ohne Systemd. Es ist halt einfach eine Applikation, welche ein User starten kann. Somit könnte ein User die Applikation starten und schon läuft diese.
Da der Anwender aber nicht ständig eingeloggt bleiben will mit Terminal, in dem die Applikation läuft, kann man dann nohup oder screen oder vergleichbar nutzen.
Wenn man sicher gehen will, dass der Service immer läuft (auch nach einem Reboot), dann kann man das ggf. per Script machen, welches regelmäßig vom Crontab aufgerufen wird ....
==> Blöder Workaround, Warum etwas nachbauen, was das System doch schon kann? Dazu gibt es Systemd! Sprich mit den Admins!
Und evtl. ist es ein System, auf dem nur bestimmte Admins tätig sein sollen. Dann würde das bedeuten: Wende Dich an die Admins damit die die Applikation stoppen und starten oder sonst irgendwas machen.