自从10.9有了一个新的功能叫

viewlocale=zh_CN">iCloud钥匙串的,就出现了不少的麻烦。一是在10.9.3之前。好多人出现无限循环地要求用户输入Local items的password问题,还好这个问题Apple官方给出了一个暂时解决办法:OS
X Mavericks v10.9.1:重复提示解锁“本地项目”钥匙串
。只是没有不是终极修复。还好10.9.3中差点儿不用发愁它了-在我的測试中仅仅幽灵般地出现过一次。

二是,有的企业希望禁止它。可能它们的企业的安全规则禁止把诸如帐户信息/信用卡信息等存储到企业以外的不论什么介质中,尤其是放到网上,尽管Apple声称这个绝对的安全,只是依旧没有打消这种企业的顾虑,也许它们不愿或没有准备好改动内部规则来适应新的技术发展吧。

总之,可以禁止就好了。

而事实上iCloud钥匙串就是保存在用户的~/Library/Keychains中有着一长串类似UUID的目录里面的一个数据库中:

在钥匙链存储(Keychain Access)中,被显示为Local Items。并且与login钥匙链不同。用户无法删除它。曾经Local items与login的加密解密类似都是使用用户的登录password,一旦用户的登录password在其他地方改变(比方管理员能够改变本地用户password,或者AD/OD用户等),系统就会不厌其烦地询问曾经的password来为它们解密。自从10.9.3之后,可能使用了用户认证加密机制而绕过password加密,所以不会出现询问password的问题,只是login钥匙串还没有改变。

苹果的技术说了: No。

Apple官方没有也不会讨论禁止它的策略/方法。

只是建议能够屏蔽站点。

有人说。在系统偏好中禁止iCloud就能够了。不管是用Profile还是MCX等等技术--事实上有人发现,在至今可见的全部的OSX版本号中Profile都存在一个"bug",使得即便被admin禁止的系统偏好项目。依旧能够被普通用户使用。但是即便是那里禁止了,能够用户依旧可能在使用其他软件的时候激活它。比方互联网帐号,mail, 联系簿等等。

苹果建议,在网络上把iCloud给屏蔽了。

1. 经过网上多个admin的尝试,似乎与这些apps有关:

<span style="font-size:18px;">/System/Library/CoreServices/Keychain Circle Notification.app
/System/Library/InternetAccounts/iCloud.iaplugin
/usr/libexec/KeychainMigrator</span>

能够删除这些程序--本人没有尝试。是从网上其他地方汇集的。操作之前备份,后果自负。

2. 据说以下的脚本能够推断一个用户是否开启了iCloud:

<span style="font-size:18px;">#!/bin/sh
OSVersion=$(sw_vers -productVersion) if [ $OSVersion == 10.9 ]; then
currUser=$( /usr/bin/who | /usr/bin/awk '/console/{ print $1 }' )
Keychain=$( /usr/libexec/PlistBuddy -c "Print Accounts:0:Services:7:Enabled" "/Users/$currUser/Library/Preferences/MobileMeAccounts.plist" )
echo "<result>$Keychain</result>" else
echo "<result>False</result>"
fi</span>

3. 这个脚本能够读取保存在当前用户plist文件里的与iCloud有关的网址。并加入到host文件里,来屏蔽它们:

#!/bin/sh

####################################################
#
# This script checks the url iCloud Keychain uses
# and adds a record to the /etc/hosts file to point
# it back to itself.
#
# Written by: Kenny 1/17/14
#
##################################################### # Get the current user.
currentUser=`ls -l /dev/console | cut -d " " -f4`
echo "$currentUser" # Get the URL iCloud Keychain contacts
iCloudKC=`defaults read /Users/$currentUser/Library/Preferences/MobileMeAccounts.plist | grep -A 4 "KEYCHAIN_SYNC" | grep "escrow" | cut -d ':' -f 2 | sed 's/[/]//g'`
echo "$iCloudKC" # Append the /etc/hosts file
echo "127.0.0.1 $iCloudKC" >> /etc/hosts
echo "host file appended"

4. 这个脚本把全部的iCloud escrowserver地址都屏蔽掉:

#!/usr/bin/env bash

HostFile="/private/etc/hosts"
ditto -v "$HostFile" /private/etc/hosts.bkup
CurrentBlockHosts=$(cat "$HostsFile" | grep -c "icloud")
if [[ "$CurrentBlockHosts" -eq 25 ]]; then
exit 0
elif [[ "$CurrentBlockHosts" -eq 0 ]]; then
echo "##" >> "$HostFile"
echo "# Block the following hosts" >> "$HostFile"
echo 127.0.0.1 icloud.com >> "$HostFile"
for (( i = 1; i < 10; i++ )); do
echo "127.0.0.1 p0$i-escrowproxy.icloud.com" >> "$HostFile"
echo "127.0.0.1 p0$i-escrowservice.icloud.com" >> "$HostFile"
done
for (( i = 10; i < 25; i++ )); do
echo "127.0.0.1 p$i-escrowproxy.icloud.com" >> "$HostFile"
echo "127.0.0.1 p$i-escrowservice.icloud.com" >> "$HostFile"
done
else
logger "[iCloudBlocker] Found $CurrentBlockHosts iCloud entries"
fi
exit 0

以上这些都是从网上搜集的信息。没有经过全然測试。

OSX: 禁止iCloud钥匙链?的更多相关文章

  1. SDWebImage之SDImageCache

    SDImageCache和SDWebImageDownloader是SDWebImage库的最重要的两个部件,它们一起为SDWebImageManager提供服务,来完成图片的加载.SDImageCa ...

  2. SIP协议&开源SIP服务器搭建和客户端安装

    1. SIP SIP 是一个应用层的控制协议,可以用来建立,修改,和终止多媒体会话,例如Internet电话 SIP在建立和维持终止多媒体会话协议上,支持五个方面: 1)   用户定位: 检查终端用户 ...

  3. 【转】教你弄清 OSX 的睡眠模式,以及合法的禁止产生 sleepimage

    原文链接 因为之前用的是网上流传的土法来禁止生成 sleepimage,尝到了苦头,而且2次! 大家知道 OSX 有几种睡眠模式,其中 hibernatemode 可以是 0 (传统睡眠方式,不生成 ...

  4. MAC OSX 驱动操作

    mac ox系统的驱动安装常规操作:下载到 *.kext 的驱动以后,都可以直接把它拖到 /System/Library/Extensions/ 下替换掉原来的文件.替换了以后,还需要修复权限才能够正 ...

  5. 深度学习框架-caffe安装-环境[Mac OSX 10.12]

    深度学习框架-caffe安装 [Mac OSX 10.12] [参考资源] 1.英文原文:(使用GPU) [http://hoondy.com/2015/04/03/how-to-install-ca ...

  6. 深度学习框架-caffe安装-Mac OSX 10.12

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } p.p2 ...

  7. iphone“连接到icloud是出错”的可能原因

    百度没能解决"连接到icloud是出错",突然发现是因为禁止了"设置"访问WIFI和蜂窝网络(第三张图所示). ​

  8. 通过squid 禁止访问/只允许访问指定 网址

    安装 squid yum install squid -y 备份squid.conf cp  squid.conf  squid.conf-list vi  squid.conf 输入: acl de ...

  9. iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总

    --系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...

随机推荐

  1. 利用Matlab自带的深度学习工具进行车辆区域检测与车型识别【Github更新!!!】(三)

    前言 对前面的东西更新了一下.地方包括: 1.GUI的更新,更友好的用户界面 2.支持用手直接画车辆区域,并且识别出来 3.将proposal.detect.fine-grained classifi ...

  2. [JZOJ4024] [佛山市选2015] 石子游戏 解题报告

    Description     Alice 和 Bob 总喜欢聚在一起玩游戏(T_T),今天他(她)们玩的是一款新型的取石子游戏.游戏一开始有N堆石子,Alice 和 Bob 轮流取出石子.在每次操作 ...

  3. vue中使用console.log无效

    webpack开发环境下,在vue中使用console.log无效,一直以为webpack出了问题. 使用window.console.log()就能够顺利在浏览器控制台输出了. 以及 在axios请 ...

  4. WebService通讯技术的CXF框架问题

    WebService通讯技术的CXF框架问题 严重: Servlet /cxf_rs_spring threw load() exception java.lang.ClassCastExceptio ...

  5. python 异步IO-aiohttp与简单的异步HTTP客户端/服务器

    参考链接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143209814 ...

  6. tt

    Oracle报错处理 1.oem启动报错 解决方案:

  7. Spring-boot非Mock测试MVC,调试启动tomcat容器

    平常我们在使用spring-boot去debug一个web应用时,通常会使用MockMvc. 如下配置: @RunWith(value = SpringRunner.class) @SpringBoo ...

  8. [Recompose] Stream a React Component from an Ajax Request with RxJS

    Loading data using RxJS is simple using Observable.ajax. This lesson shows you how to take the ajax ...

  9. shrio 登录/退出

    身份验证,即在应用中谁能证明他就是他本人.一般提供如他们的身份ID一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明. 在shiro中,用户需要提供principals (身份)和cre ...

  10. 之前写的收集的一些c++代码片,算法排序,读文件,写日志,快速求积分等等

    写日志: class LogFile { public: static LogFile &instance(); operator FILE *() const { return m_file ...