Voici la situation. J'ai un script Jython 2.1 dans un compte partagé qui a besoin de savoir qui l'appelle. En bash, je peux simplement utiliser $ (who -m) et cela me donnera le nom d'utilisateur correct. Par "compte partagé", je veux dire que je me connecte moi-même, puis $ (sudo su - shared_account) pour accéder au compte partagé.Comment obtenir le nom d'utilisateur en Java (par exemple, qui -m en Java) (ou Jython 2.1)
Je n'ai pas pu trouver quoi que ce soit dans java (ou jython) qui me donnerait un résultat similaire. Même en essayant d'appeler Runtime.getRuntime(). Exec ("who -m") ne fait rien. Lorsque j'essaie de lire l'InputStream à partir du processus renvoyé par exec, le flux est vide.
Lorsque vous dites * nom d'utilisateur *, faites-vous référence au nom d'utilisateur de connexion rapporté par le système d'exploitation? –
Trier par. Si je me connecte en tant qu'amertune, alors 'sudo su - shared_account', je veux obtenir le nom d'utilisateur amertune (qui -m fait cela), pas le nom d'utilisateur shared_account. – amertune