【问题标题】:Java: Ask root privileges on UbuntuJava:在 Ubuntu 上询问 root 权限
【发布时间】:2011-10-30 05:17:16
【问题描述】:

如何从一个类调用身份验证窗口,为当前应用程序授予 root 访问权一段时间。 例如,我正在编写一些应用程序来处理分区,所以它需要 root 权限来执行一些事情。

【问题讨论】:

  • 您可能想看看 Java-Gnome:java-gnome.sourceforge.net
  • 我建议您以具有 sudo 访问权限的用户身份运行它。这不完全是 Java 的那杯茶——它的理念是“一次编写,到处运行”——几乎任何你需要 root 访问权限的东西都不会是跨平台的。

标签: java ubuntu root


【解决方案1】:

也许你不能用 Java 做到这一点。最好的方法是,也许您可​​以检测到该程序未以sudo 运行,因此您可以要求用户关闭该程序并以超级用户身份重新启动。 (对于这个解决方案,我更喜欢从系统文件中选择一个文件或目录并检查它是否可写。例如new File("/usr/bin/ls").isWritable()

其他方式可能会启动特定于桌面环境的身份验证窗口。例如有Java-gnome,但正如您所料,并非所有用户都应该使用 GNOME。所以实际上并没有一个通用的解决方案,而且都带有大量的依赖项。 Java 不是为此而设计的。

最好的办法是在启动时使用一个技巧来检查超级用户权限。也许您可以详细说明您的问题,我们可以提出一个不需要 root 访问权限的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-08
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 2021-12-13
    • 2015-06-01
    相关资源
    最近更新 更多