OSX: ARD的基于目录服务用户权限

227 篇文章 6 订阅
27 篇文章 0 订阅

从Apple Remote Desktop 3.3开始, 加入了对目录服务用户/用户组的支持, 也就是说可以利用目录用户/用户组, 来定义该用户/用户组的ARD权限.

它支持预设的四个管理组:admin, report, manage和interact. 每个组的权限见下表:

权限adminmanageinteractreport
生成报告XX
X
打开关闭程序XX

改变设置XX

拷贝XX

删除/置换XX

发送消息XXX
重启/关机XX

控制X
X
发现X
X
显示被控制X
X
其中: X说明该组用户有该权限.


在利用目录用户/组之前, 首先该电脑需要加入到该目录服务中, 参见/System/Library/CoreServices/Directory Utility.app

之后规划好, 哪个目录用户组被分配到哪个ARD管理组中.


有两种方式进行配置, 一个是MCX, 一个是对每个管理组操作.

使用脚本来管理, 当然是最直观和易于部署的了.

在OS X系统中, 这四个ARD管理组并没有预设在本地用户数据库中, 所以需要判断/生成.

下面就是一个简单的脚本

#!/bin/bash

# List of groups to create and edit
groupArray=(com.apple.local.ard_interact com.apple.local.ard_manage com.apple.local.ard_admin com.apple.local.ard_reports)

# Enable DirectoryService auth for Apple Remote Desktop
echo "Enabling DirectoryService authentication for Apple Remote Desktop"
/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -clientopts -setdirlogins -
dirlogins yes

####Create Groups
for group in "${groupArray[@]}"
do
        dseditgroup -n /Local/Default $group
        if [ $? != 0 ]
        then
                echo "$group group does not exist.  Creating"
                dseditgroup -n /Local/Default -o create $group
        else
                echo "$group group already exists"
        fi
done

之后就可以添加目录用户/组到各个相应管理组中:

# List of AD group names
ADUser_Admin=AD_ADMIN_USERNAMEADUSer_Report=AD_REPORT_USERNAME dseditgroup -n /Local/Default -o edit -a $ADUser_Admin -t user com.apple.local.ard_admindseditgroup -n /Local/Default -o edit -a $ADUser_Report -t user com.apple.local.ard_reports

知道每个目录用户组的UUID后, 甚至是下面的代码, 它无需该电脑必须可以存取目录服务:

# List of AD group UUIDs
AD_ARD_interact_UUID=DEADBEEF-0000-0000-0000-000000000101
AD_ARD_manage_UUID=DEADBEEF-0000-0000-0000-000000000102
AD_ARD_admin_UUID=DEADBEEF-0000-0000-0000-000000000103
AD_ARD_user_UUID=F03809E4-D46C-478E-8C70-755AEA2BF75E

dscl localhost -create /Local/Default/Groups/com.apple.local.ard_interact NestedGroups $AD_ARD_interact_UUID
dscl localhost -create /Local/Default/Groups/com.apple.local.ard_manage NestedGroups $AD_ARD_manage_UUID
dscl localhost -create /Local/Default/Groups/com.apple.local.ard_admin NestedGroups $AD_ARD_admin_UUID
dscl localhost -create /Local/Default/Groups/com.apple.local.ard_admin GroupMembers $AD_ARD_user_UUID
 

参考: ARD的管理手册, 并感谢Palmer, ShanePatrick Fergus

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值