java - 在 Java 应用程序中编辑/etc/hosts/

标签 java

所以,这有点不传统,但我基本上正在生成一个 Java 应用程序,我需要访问 /etc/hosts 文件。

如果没有 root 权限,这个文件显然无法编辑。该程序是为 parent 设计的,这样他们就可以禁止 child 访问某些网站。我怎样才能实现root访问?

我在某处读到,我也许可以在 MacOSX 的终端线路中以 root 身份打开该应用程序,但我用 Java 编写这个程序的原因是,我可以将它分发给一些不懂计算机的亲密 friend ,他们可以轻松运行它。

我是否可以在应用程序开始时请求 root 权限?

最佳答案

您可以使用 sudo 命令让用户以 super 用户权限启动应用程序。

sudo your-app

必须允许用户使用 super 用户权限。在执行命令之前,系统会提示他输入密码。浏览此网站,了解有关 sudo 的更多信息。

注意:另一种可能性是直接使用SUID 位。这不是很聪明,因为任何人启动该应用程序都将拥有 super 用户权限。出于这个原因,“sudo” 是授予访问权限的首选包装器。

关于java - 在 Java 应用程序中编辑/etc/hosts/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7722334/

相关文章:

java - 单一职责原则在特定代码上的实现

java - 如何防止 Jersey 在解析为 json 时将数字字段解析为字符串?

java - 当我向排行榜 android 提交分数时应用程序崩溃

java - 为什么应用程序重新启动时该值没有保存到 SharedPreferences 中?

java - 压缩具有许多重复项的 csv 文件的最佳方法是什么?

java - H2 数据库(嵌入式)连接超时

java - Spring Data Store Redis——使用多个缓存

java - GSSContext AcceptSecContext 方法中的安全漏洞? (JAVA)

java - 同步块(synchronized block): lock many objects?

Java/Scala 以类型安全的方式获取 Field 引用