[Mono-list] Linux: RunAS with System.Diagnostics.Process fails

Robert Jordan robertj at gmx.net
Sun Jul 3 18:53:23 UTC 2016

On 01.07.2016 01:17, webman at manfbraun.de wrote:
> Hello !
> I am just trying this:
> Process p = new Process();
> ProcessStartInfo psi = new ProcessStartInfo();
> SecureString password = ReadPassword();
> psi.UserName = args[0];
> psi.FileName = args[1];
> psi.UseShellExecute = false;
> psi.Password = password;
> .....
> This works naturally on Linux too - but the required user is NOT the
> executing user of that process - it is the same as the starter.
> This looks like a bug in the mono classlib/runtime. It is not
> a professional solution to run it via a "shell'ed" sudo.
> What workarounds are availabe to solve this problem ?

Su/sudo is actually the one and only "professional" approach
under Unix/Linux.

Any other way will eventually end up in reinventing su/sudo, which
is pretty hard (security wise) to be implemented.

For a desktop application you may want to look at kdesu/kdesudo (KDE), 
gksu/gksudo (GNOME), beesu (Red Hat). For a console app: su/sudo.


More information about the Mono-list mailing list