在 Mac OS X 上以编程方式修改家长控制

2024-02-23

Mac OS 具有一组非常基本的家长控制选项,允许您限制用户对网站和应用程序的访问,以及设置的每日时间限制。我希望能够编写脚本来执行如下操作:

允许上午 8 点至上午 9:30 访问特定网站,限制对游戏的访问。 允许下午 5 点至下午 6:00 进行一般访问。

我不知道从哪里开始在 Mac OS 10.8 上编写脚本。有什么建议么?这是 Automator 可以处理的事情还是我最好使用 cron 作业/shell 脚本?


家长控制是使用自 10.2 以来就存在的常规托管首选项(又名 MCX)框架来强制执行的。它将它们存储在本地目录服务中相关用户的 mcx_attributes 属性中。

要在 GUI 之外设置它们或任何托管设置,您需要做的就是使用 mcx 插件输入格式正确的 plistdscl工具进入用户。 OS X 系统管理员社区充分理解和记录了像这样使用本地目录服务策略。

开始了解这一点的最简单方法是设置一些家长控制,然后使用 /System/Library/CoreServices 或dscl命令可以让您探索目录服务,就好像它是带有 cd 和 ls 的文件系统一样。

一旦您了解了 XML 中设置的键是什么,您就可以开始制作自己的键。您还可以使用dscl . -mcxexport命令。这将转储管理配置,然后您可以稍后导入它。查看dscl . -mcxhelp了解 mcx 插件的内幕。

回顾一下用脚本实现这个的过程是:

  1. 创建一个包含所需策略信息的 xml plist。
  2. 将该 plist 导入到正确的帐户中dscl . mcximport

一个更具前瞻性的替代方案是创建一个配置文件(这也只是一个 plist 文件。),然后使用profiles命令。如果您采用配置文件路线,那么目录服务或目录中就不会出现任何混乱dscl命令担心。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Mac OS X 上以编程方式修改家长控制 的相关文章

随机推荐

  • Directory.Exists 对时间敏感吗?

    我的应用程序中有以下代码 if Directory Exists myPath Directory CreateDirectory myPath 如果我在常规单元测试中运行它 有时它会通过 有时则不会 该目录始终存在 我确定了这一点 因此从
  • 如何在Mysql中创建一个id(自动递增)并与其连接一个字符串?仅使用 PHP

    需要创建一个具有自动递增主键的 id 必须使用 php 将字符串与该 id 一起存储 如下所示 我的sql必须显示 ID WFS001 WFS002 WFS003 WFS005 一个选项是有一个自动增量列 执行插入 获取最后一个 idLAS
  • 如何从主线程唤醒休眠线程?

    我有一个捕获程序 除了捕获数据并将其写入文件外 还打印一些统计信息 打印统计信息的函数 static void report void Print statistics 大约每秒调用一次 使用每秒到期的警报 所以该程序就像 void cap
  • 触发锚链接的点击

    我有一个链接集合 其中包含与它们匹配的缩略图 我需要将这些缩略图加载为 div 并为其设置背景图像 我使用的是包含所有缩略图的单个图像 因此我不能仅将图像加载为图像 单击图像应该与单击链接执行相同的操作 但我制作了一个 JSFiddle 来
  • CLR 如何知道装箱对象的类型?

    当值类型被装箱时 它被放置在untyped参考对象 那么是什么原因导致这里出现无效的强制转换异常呢 long l 1 object obj object l double d double obj 不 它没有放置在无类型对象中 对于每种值类
  • jmeter无法记录浏览器操作

    我正在使用 apache jmeter 2 6 我想使用 HTTP 代理服务器记录浏览器操作 但动作并没有记录 我已经在线程组下定义了 HTTP 请求默认值 我为服务器名称指定了值 如下所示 http www xxxxx com 81 ht
  • 在 Codeigniter 中手动调用/调用挂钩

    我搜索了手动调用 调用钩子以及网上类似的东西 但找不到任何东西 codeigniter中有这样的东西吗 我下面有一个钩子 它会按预期触发 但以防万一没有触发 那么我想在代码中手动调用它 Thanks hook post controller
  • 使用 DotNetOpenAuth 创建 OAuth 2.0 服务提供者

    我正在构建一个 Web 应用程序 它将有一个 api 和一个使用 DotNetOpenAuth 的授权服务 我发现这个例子 http scatteredcode wordpress com 2011 12 01 dotnetopenauth
  • 类型错误:“NoneType”对象无法使用函数结果进行迭代

    我在 companyName monthAverage costPerTon totalCost displayCost companyName monthAverage costPerTon totalCost 行上收到 TypeErro
  • maxlength 属性的角度验证消息

    我在 Angular 中显示 maxlength 属性的错误消息时遇到一些问题 Problem 由于 maxlength 属性不允许的字符数超过指定数量 因此我无法显示错误消息 有什么方法可以关闭默认行为 允许用户输入更多字符 以显示我的错
  • Linux/X11下如何隐藏鼠标指针?

    如何在X11下隐藏鼠标指针 我想使用内置库来执行此操作 而不是使用 SDL SDL ShowCursor 0 或 glut glutSetCursor GLUT CURSOR NONE 之类的库 此外 无论指针位置如何 鼠标指针都应该隐藏
  • 在 Windows 中启动 Confluence Schema Registry

    我有Windows环境和我自己的一套kafka和zookeeper正在运行 为了使用自定义对象 我开始使用 Avro 但我需要启动注册表 下载 Confluence 平台并运行 bin schema registry start etc s
  • 哪种编程语言最能弥合伪代码和代码之间的差距? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 当我从现在开始编写代码时 我计划首先用漂亮 可读的伪代码来布局所有内容 然后围绕该结构实现程序 如果我将我目前掌握的语言从最容易翻译到最难翻译进
  • Git 告诉我拉,然后提交,然后拉?

    我正在尝试推送新的更改 但我有一个冲突的文件 尝试推送后 出现以下错误 Merge the remote changes e g git pull before pushing again See the Note about fast f
  • 脚本可以编辑受保护的范围或工作表吗?

    我正在使用一个脚本来复制和粘贴一些数据 这些数据由几个用户填充 而没有权限仅编辑一行 其他范围受到这些用户的保护 无法编辑 该脚本将数据从一张纸复制到另一张纸 并且两张纸都受到完全保护 除了可以编辑任何内容的两个编辑者之外 当没有人处理此电
  • 将嵌入式 Glassfish 与 Maven 结合使用

    有人知道嵌入式 Glassfish 吗 我想运行一些 EJB 测试 但我不想每次运行测试时都启动和停止嵌入的 glassfish 根据插件文档 我应该将其放入 POM 中
  • 在移动设备上部署 C++ QML 插件的正确方法是什么?

    我经常使用 Box2D QML 插件 看起来效果非常好 但是 我想在 Android SGS2 上部署我的示例应用程序 但我似乎无法让它工作 无论我尝试在 AVD 上还是在设备上运行它 它都不起作用 androiddeployqt 成功完成
  • 嵌套 div 上的 jQuery click()

    代码可能比我能更好地解释这一点 div class wrapper div class inner1 div div class inner2 div div 当我点击inner1div 它运行do something 与两个inner1d
  • 为什么我的 PDF 生成为空白?

    我正在使用 ItextSharp 和 c asp net MVC 生成 PDF 报告 但是 当我生成报告时 PDF 返回为空白 除了工作正常的标题之外 我会喜欢你的意见 生成报告的代码如下 using var writer PdfWrite
  • 在 Mac OS X 上以编程方式修改家长控制

    Mac OS 具有一组非常基本的家长控制选项 允许您限制用户对网站和应用程序的访问 以及设置的每日时间限制 我希望能够编写脚本来执行如下操作 允许上午 8 点至上午 9 30 访问特定网站 限制对游戏的访问 允许下午 5 点至下午 6 00