Hi,

I'm trying to write a Java program that queries user for password. The
difficulty I'm facing is, this java program is started using `systemd`
service. 

I'm aware that `systemd` services are meant to run non-interactively.
I'm trying to change it based on my program's need.

I was reading about `ProcessBuilder` in Java to invoke `systemd-ask-
password` command.


    public static void main(String arg[]) {
                try {
                        ProcessBuilder pb = new
ProcessBuilder();//  padd user nuxwdog:internalDB mkdtest1 @u"});
                        pb.command("/bin/bash", "-c", "systemd-ask-
password internaldb: --no-output");

                        pb.inheritIO();
                        Process p = pb.start();
                        
                        
                        int exitCode = p.waitFor();
                        assert exitCode == 0;
                        System.out.println(exitCode);
            }
    }

I get the following `journalctl` logs when I start using systemd. I'm
not prompted for password.

    Nov 27 18:25:35 localhost.localdomain systemd[1]: Stopping 
[email protected]...
    Nov 27 18:25:35 localhost.localdomain java[7034]: 143
    Nov 27 18:25:35 localhost.localdomain systemd[1]: 
[email protected]: Main process exited,
code=exited, status=143/n/a
    Nov 27 18:25:35 localhost.localdomain systemd[1]: 
[email protected]: Failed with result 'exit-code'.
    Nov 27 18:25:35 localhost.localdomain systemd[1]: Stopped 
[email protected].
    Nov 27 18:25:35 localhost.localdomain systemd[1]: Started 
[email protected].

Is there a way to query a password interactively from a Java program
started using a systemd service?


Thanks,
Dinesh





_______________________________________________
systemd-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to