【问题标题】:Executing Shell script file from C#从 C# 执行 Shell 脚本文件
【发布时间】:2014-09-05 09:20:07
【问题描述】:

我在 Fedora 中有一个名为 run.sh 的 shell 脚本文件。我想知道当我从 C# 代码执行此文件时,该文件是否会以具有超级用户权限的 root 身份执行?据我了解,我们提供密码,然后我们才是 root 用户。

执行文件run.sh的方法如下:

private String runCron()
{                       
    ProcessStartInfo ps = new ProcessStartInfo ();
    ps.FileName = "/home/kc/test/run.sh";
    ps.UseShellExecute = false;
    ps.RedirectStandardOutput = true;

    Process process = Process.Start (ps);
    process.WaitForExit ();
    return "Success";
}

【问题讨论】:

  • 你可以使用超级用户权限运行你的 C# 脚本
  • 不,我的意思是在我上面提到的代码中它会以超级用户权限运行吗??
  • 如果你以超级用户身份运行你的 C# 脚本,那么 run.sh 也会以超级用户身份运行
  • 我没有 C# 脚本 我有一个 C# 代码,它具有执行 Shell 脚本文件的上述方法。我打开浏览器并输入 url,然后在此操作中执行上述方法。我不明白“以管理员身份执行 C# 脚本”是什么意思。你能详细说明一下吗??

标签: c# linux shell


【解决方案1】:

取决于您是否以 root 提升权限运行 C# 进程。
如果您 sudo 您的 C# 程序,那么您将使用 root 权限运行以下脚本。
如果您不使用 sudo,如果您希望它以 root 权限运行,则必须以 root 身份登录。
或者脚本本身可以通过执行 sudo su 来请求 root 权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 2013-04-08
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    相关资源
    最近更新 更多