当前位置:编程学习 > JAVA >>

OSX:Apple严控Java太不人性化

Apple为了在系统安全方面得到更好的声誉,对更容易造成系统漏洞的Java进行着严格的控制,并在自己发明的安全更新(之一不是软件更新)中在用户毫无察觉的情况下自动地隐秘地禁止Java的运行,当然了该安全更新的功能可以用来禁止任何它认为有问题的软件运行,或者是对有问题的网页/网站的访问等等,而且它是在用户毫无知觉的情况下自动更新隐蔽运行的,当一个软件被禁止运行时,也没有任何的有效的提示,至少告诉用户是以什么原因该软件被禁止运行的吧!由于Java被禁止运行之后,最终用户在不知情的情况下,在Safari浏览器中一下子就无法再使用Java了,而且没有原因解释,没有一点提示的情况下,用户就无法使用原本可以使用的软件,用户遇到这样的问题迷茫的很。一个系统就是让用户用的,那么既然你们哪样自负这样武断地禁止用户使用,还不如让用户砸了电脑,岂不是更加彻底?!Apple的这种武断行为,完全违背了它在iOS设备中所提倡的个人体验的理念,难道说这个理念不是贯穿于所有苹果产品的嘛?亦或是Apple的理念也升级了呢?
 
Apple如何做到的?
它在系统中内置了一个安全更新功能,E文描述是Automaticallyupdate safe downloads list,内部叫XProtect,这个东东是OS系统的一个daemon守护进程,相当于Win的服务程序,它自动从Apple的网站上下载这个安全下载列表,并更新客户系统上的,即时更新即时生效,也就是说,一旦被更新,刚才前还可以的,就莫名其妙地不能用了。
 
你来自救:
合法禁止:
最简单的就是使用系统提供的功能禁止它,进入系统偏好->安全和隐私,打开小锁后,进入高级,取消对Automatically update safe downloads list的选择,见下图:
命令行:
那就让Launchd来管理它,命令:
[html]  
launchctl unload -w /System/Library/LaunchDaemons/com.apple.xprotectupdater.plist  
 
删除限制:
如果只想临时去除该限制并保持更新自动运行,以保证系统的安全的同时,也使用户可以临时使用Java,那么:
[python]  
sudo /usr/libexec/PlistBuddy -c "Delete :JavaWebComponentVersionMinimum" /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.meta.plist  
 
好吧,让我们理解一下:
Apple之所以禁用Java也不是没有道理,这两次都是因为Java的某个版本被发现并被确认存在危险漏洞,从而造成对客户系统的危害。
上面的提供的步骤只是权宜之计,还是尽快更新用户端的Java客户端软件,目前Java已经有了update 13了。
还有另外一个选择哦,使用FireFox等其他的浏览器,不用Safari,其他的可能仅仅是提示一下并准许用户继续使用。
 
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,