zoukankan      html  css  js  c++  java
  • 目录服务用户OSX: ARD的基于目录服务用户权限

    改章节笔者在上海游玩的时候突然想到的...今天就有想写几篇关于目录服务用户的笔记,所以回家到以后就奋笔疾书的写出来发布了

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

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

        

    权限 admin manage interact report
    生成呈文 X X
    X
    打开关闭程序 X X

    改变设置 X X

    拷贝 X X

    删除/置换 X X

    发送消息 X X X
    重启/关机 X X

    控制 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

    文章结束给大家分享下程序员的一些笑话语录: 有一天,一个男人穿越森林的时候,听到一个细微的声音叫住他。他低头一看,是一只青蛙。
    “如果你亲我一下,我会变成一个美丽的公主哦。”男人一言不发,把青蛙捡起来,放入口袋。
    “如果你亲我一下,我会变成一个美丽的公主哦。而且,我会告诉我遇到的每一个人,你是多么聪明和勇敢,你是我的英雄。”男人把青蛙拿出来,对着它微微一笑,又把它放回口袋。
    “如果你亲我一下,我会变成一个美丽的公主,然后我愿意成为你的爱人一星期。”男人又把青蛙拿出来,对着它微微一笑,把它放回口袋。
    “如果你亲我一下,我会变成一个美丽的公主,然后我愿意成为你的爱人一年,而且你可以对我做任何事。”再一次,男人把青蛙拿出来,对着它微微一笑,又把它放回口袋。
      最后,青蛙无力地问:“我开出了这么好的条件,为什么你还不肯吻我?”男人说:“我是一个程序员,我可没时间和什么公主鬼混。不过,拥有一个会说话的青蛙,倒是蛮酷的。”

    --------------------------------- 原创文章 By
    目录服务和用户
    ---------------------------------

  • 相关阅读:
    fatal error LNK1123: failure during conversion to COFF: file invalid or corr
    BEGIN_SINK_MAP(CMainDlg) SINK_ENTRY(IDC_EXPLORER1, ..。响应不到的
    第三周项目3-程序的多文件组织
    第三周项目2-三角形类(二)
    第三周项目1-三角形类(一)
    第三周课后实践-阅读程序
    第二周项目4-图书馆的书
    第二周项目3-时间类
    第二周项目2-长方柱类
    第二周项目1-旱冰场造价
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3109138.html
Copyright © 2011-2022 走看看