所以,这有点不传统,但我基本上正在生成一个 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/