Zmiana użytkownika w trakcie działania programu

0

Witam.

Chciałbym się dowiedzieć, czy istnieje możliwość zmiany użytkownika
programu ( z poziomu Javy ) w trakcie jego działania. Program działa pod Linuxem.

Dokładniej chodzi mi o coś takiego:

  1. root uruchamia program ( na prawach roota )
  2. przychodzi nowy użytkownik (nazwijmy go X), loguje się w systemie
  3. program działa teraz na prawach użytkownika X

W powyższym przykładzie root i X to oczywiście użytkownicy, którzy mają konta w systemie.

0

Klasy Runtime, Process, Command.

0

@Koziołek: Coś takiego mnie nie interesuje:

ProcessBuilder pb = new ProcessBuilder("/usr/bin/sudo", "-u", user, "java", "-jar", "nowy.jar");
try {
            Process p = pb.start();
} catch (Exception exc) {   }

Chcę, żeby wszystko o czym pisałem do tej pory odbyło się w obrębie jednego procesu.
Czyli mam rozumieć, że nie ma innej możliwości, niż stworzenie nowego procesu ?

0

Nie ma. Nawet jeżeli trafisz jakąś bibliotekę to zrobi ona to niejawnie. W Javie nie ma możliwość wywolania funkcji systemowej ponieważ java jest niezależna od platformy.

0

Okay, dzięki za szybką odpowiedź.
Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1