自从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. Spring Boot AutoConfiguration注解@ConditionalXXXX之前生今世

    1.注解@Conditional的定义 @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHO ...

  2. <Three.js>(第二节)添加长方体

    一.实验内容 上一节已经搭好了实验的框架.这一节我们将在屏幕上显示一些几何图形.如下图所示,我们将在屏幕上显示一个正方体. 二.实验步骤 1.创建场景 正像上一节所说,首先我们需要建一个场景,场景就是 ...

  3. Bayes++ Library入门学习之熟悉class-Importance_resampler

    接下来,需要介绍的是重要性重采样类Bayesian_filter::Improtance_resampler.该类实现了两种重采样方法[1][2],和其子类的继承关系图如下: 其中Standard_r ...

  4. flex属性的取值

    首先明确一点是, flex 是 flex-grow.flex-shrink.flex-basis的缩写.故其取值可以考虑以下情况:flex 的默认值是以上三个属性值的组合.假设以上三个属性同样取默认值 ...

  5. iOS开发——NSString小结

    1.创建常量字符串. NSString *astring = @"This is a String!";   2.创建空字符串,给予赋值. NSString *astring = ...

  6. url链接打开本地应用(测试通过)

    基于windows!! 类比mailto://XXXX 主要参考: https://www.cnblogs.com/snow365/p/6428212.html 应用 1.在网页上本地办公 网页应用越 ...

  7. caioj 1075 动态规划入门(中链式2:能量项链)(中链式dp总结)

    我又总结了一种动归模型-- 这道题和上一道题很类似,都是给一个序列,然后相邻的元素可以合并 然后合并后的元素可以再次合并 那么就可以用这两道题类似的方法解决 简单来说就是枚举区间,然后枚举断点 加上断 ...

  8. HDOJ 4009 Transfer water 最小树形图

    Transfer water Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others) T ...

  9. IOS-7-纪念一下刚刚接到的第一份offer(下面是面试遇到的问题)

    1.多线程技术 有四种开启线程的方式,基本的为:NSThread.NSOperation.GCD:还有一种已经老掉牙了.基于C语言.就不写了,基本不用. 样例:家在网络图片显示在手机界面上 第一步:代 ...

  10. 烦人的Facebook分享授权

    开发端授权app权限 facebook要求提交应用到他们平台, 并且还限制100mb, 坑爹死了, 果断使用google drive分享给他们, 最開始不确定分享给他们什么样的程序包, 结果审核没通过 ...