Java应用程序安装需要root密码?


2

我目前正在从Linux切换到OS X,并且在此过程中发现了两个系统之间的一些令人惊讶的差异。

作为一般安全实践,我已经习惯了将大多数应用程序安装到用户主目录中的概念。然而,令我惊讶的是,在安装使用JRE运行的应用程序时,我立即收到一条消息“java想要进行更改。输入密码来执行此操作”。甚至在询问文件安装到哪个目录之前出现此提示(例如〜/ Applications /)。不用说,在Linux中安装类似的Java相关应用程序时,这不是我习惯的。

我的问题:这个java提示符是否授予整个进程管理员权限?这个提示是否可以通过完全分离root帐户和用户帐户来避免,或者这就是Java在OS X上的工作方式?


你能提供这个应用程序的链接吗?

对。这是MATLAB( mathworks.com/help/install/ug/install-mathworks-software.html ),此链接确实指出Linux和OS X之间存在差异(特别提到对于Linux,只需要写入权限,而对于OS X,始终需要root密码)。我更普遍地想知道 为什么 情况确实如此,但应该提到具体案例,以涵盖这是一个孤立实例的事件。
omellette

如果你输入 java --version 从命令行,您是否也获得了JDK弹出窗口或者您是否已经安装了Java而不是Apple发布的占位符以便在调用时轻松下载java?
bmike

Java已安装。 Apple的第6版和Oracle的第7版都显示相同的行为(提示root)。
omellette

Answers:


1

在OS X上,安装在本地用户之外的任何项目都需要管理密码。原因是OS X具有与Linux不同的文件结构(和权限安排)。

OS X的根目录安装在/ System上。除了系统文件(例如OS X更新)之外,此父目录不受影响。

用于为某些应用程序供电的库,扩展,各种插件和其他杂项安装到/ Library。应用程序通常将其文件安装到文件夹名称Application Support(但是,并非总是如此)。此父文件夹包含可由管理员或用户运行的安装程序修改的文件。已安装的组件会影响整个系统(而不仅仅是特定用户)。

最后,应用程序(在带有.app后缀的实际文件夹中)放在/ Applications中。 Mac App Store(MAS)下载到此目录,用户也可以在此处拖放他们的应用程序。父目录由root拥有(通过MAS安装的应用程序也是如此),但用户确实具有写访问权限。

上面的文件夹(及其子文件)将需要管理密码才能修改,复制或删除。

对于MATLAB,安装程序可能会将文件安装到/ Library(可能是应用程序支持),因此需要管理密码。

我不能专门代表MATLAB,但可以通过OS X的安装程序查看包文件结构。只需启动包(pkg),然后导航到菜单。它位于文件>显示文件。在这里你可以看到的内容 适用于Mavericks Server的VPN更新 可在Apple网站上找到。

enter image description here

管理凭据请求发生在 实际 需要写文件。它只是在OS X上构建软件包的方式。将其视为安装过程中的一个步骤而不是由于需要而绑定到特定事件的步骤。在构建安装程序期间,开发人员将指定这些要求,一旦指定,OS X就会根据Apple的人机界面指南提供这些要求。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.