Mac OS有一套非常基本的家长控制选项,可让您限制用户对网站和应用的访问权限,以及设定的每日时间限制。我希望能够编写脚本来执行以下操作:
允许从上午8点到9:30访问特定网站,限制访问游戏。 允许从下午5点到下午6点进行一般访问。
我不知道在Mac OS 10.8上编写脚本的方法从哪里开始。有什么建议?这是Automator可以处理的东西,还是我最好使用cron job / shell脚本?
答案 0 :(得分:14)
使用自10.2以来一直存在的常规ol'托管偏好(aka MCX)框架来强制实施家长控制。它将它们存储在相关用户的mcx_attributes属性中的本地目录服务中。
要在GUI之外设置它们或任何托管设置,您只需要使用dscl
工具的mcx插件向用户输入格式正确的plist。 OS X sysadmin社区很好地理解并记录了这样的本地目录服务策略。
开始理解这一点的最简单方法是设置一些家长控制,然后使用/ System / Library / CoreServices中的Directory Utility应用程序或dscl
命令检查mcx属性,这将让您探索目录服务就好像它是一个带有cd和ls的文件系统。
一旦你看到在XML中设置的键是什么,你就可以开始自己制作。您也可以使用dscl . -mcxexport
命令。这将转储管理配置,然后您可以稍后导入它。查看dscl . -mcxhelp
了解mcx插件的下拉列表。
使用脚本查看实现此过程的过程是:
dscl . mcximport
更具前瞻性的替代方案是创建配置文件(也只是一个plist文件。)然后使用profiles
命令加载它。如果您采用配置文件路由,那么目录服务或dscl
命令中没有任何问题需要担心。
答案 1 :(得分:4)
设置来宾帐户登录时间(时间限制或宵禁): 使用以下long comnand,编辑每天的开始和结束值。
dscl . -mcxedit /Users/Guest com.apple.familycontrols.timelimits limits-list '({allowancesActive = 1;curfews = {friday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});monday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});saturday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});sunday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});thursday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});tuesday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});wednesday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});};groupID = "__COMPUTER__";itemType = "com.apple.familycontrols.timelimits.computer";name = Computer;})'
要查看来宾帐户时间限制的状态:
dscl . -mcxread /Users/Guest com.apple.familycontrols.timelimits limits-list
或:
dscl . -mcxread /Users/Guest com.apple.familycontrols.timelimits limits-list | egrep "end|start" | sort | uniq
涉及的文件: / Library / Managed Preferences / Guest / com.apple.familycontrols.timelimits.plist 包含本地Guest帐户的宵禁数据
/ Library / Managed Preferences / Guest / complete.plist 编制Guest帐户的所有托管首选项设置
这是系统用来设置宵禁的数据: /private/var/db/dslocal/nodes/Default/users/Guest.plist