牛骨文教育服务平台(让学习变的简单)

Mac OS X 10.5 Fast System Deployment Practice

Mac OS X 10.5快速系统部署实践

注:
前一篇在这里: Mac OS X 10.5快速系统部署实践-制作核心系统镜像(2) v1
 

本地管理员

    在企业中,为了方便管理用户,每个用户都有为了完成工作而设定的各自权限。为了管理每台电脑,管理员必需要有足够的权利管理该电脑系统,所以一个具有足够高权限的本地管理员帐户就是必不可少的了。

    大家都知道,Mac OS X是基于BSD的类Unix系统的,它的核心是Darwin, 是Apple早在1989年发布的,它主要从FreeBSD, NEXTSTEP等系统发展过来的,它符合SUSv3和POSIX UNIX规范,从10.6版本开始全面升级到64位编码。在Mac里面,系统管理员一般情况下不需要使用root用户来管理系统,而一个具有管理员权限的帐户就可以完成绝大多数的系统管理工作。所以,我们第一步要做的就是建立一个管理员帐户。

    其实,通过安装盘安装MAc OS X系统的时候,系统会提示用户生成第一个用户帐户,其实这个帐户就是一个管理员帐户,使用这个帐户作为企业本地管理员帐户就可以,如果这样请跳过本小节仔细阅读下一小节的内容。

    使用图形界面生成一个管理员帐户也是最简单的,下面同样只给出一个屏幕截图。

 

使用shell命令

    完全可以用shell命令来完成管理员的帐户建立:

sudo -s

echo "Creating System Admin Account..."

dscl . -create /Users/sysadmin

dscl . -create /Users/sysadmin UserShell /bin/bash

dscl . -create /Users/sysadmin RealName "System Admin"

dscl . -create /Users/sysadmin UniqueID 501

dscl . -create /Users/sysadmin PrimaryGroupID 80

dscl . -create /Users/sysadmin NFSHomeDirectory /Users/sysadmin

dscl . -passwd /Users/sysadmin "sadigowre4t0au4"

dscl . -append /Groups/admin GroupMembership sysadmin

 

cp -R /System/Library/User/ Template/English.lproj /Users/zhangsan

chown -R sysadmin /Users/sysadmin

    上面的bash脚本创建了真实姓名是"System Admin",Unix用户名是sysadmin的,Unix唯一ID是501的,具有管理员权限(加入到admin管理员组)的本地帐户。大家可以对比看出普通用户和管理员帐户的区别。

root用户

    root在UNIX世界里是特殊的用户,它是计算机的God, 它可以做任何事情,而管理员身份的用户可以通过各种方式实现root用户的功能,一般情况下不会用到root, 所以Mac默认是禁止root用户的。如果管理需要可以打开root帐户.

 

    在图形方式里,不同版本的Mac OS X,使用的工具有点不同,详细的操作可以参见Apple的官方文档: 在 Mac OS X 中启用和使用 root 用户

 

    使用命令行:

| sudo passwd root |
|-----|

    之后输入root用户密码,并确认一次。

    当然,我们还可以使用下面的命令行来打开和禁止root用户(对于10.5的Leopard系统测试通过,之前的系统没有测试)

# enable root user account
/usr/sbin/dsenableroot -u adminusername -p adminuserpassword -r rootpassword

   其中 -u后面的adminusername是一个具有管理员身份的账户,后面的-padminuserpassword是该账户的密码,后面就是-rrootpassword就是被重新设置的root用户的密码。注意,在设置密码的时候有些特殊字符需要转义。

管理员帐户安全和隐藏

    为了保护管理员帐户的安全,该帐户应使用适当强度的密码,这一点自不必多说;只有工作内容需要知道的人才可以知道,并教育员工确立对帐户和密码的保护和正确使用意识,以及密码的保存形式等的管理都是保证这个密码长期有效的保障。

 

    为了系统更安全,管理员帐户名称最好对普通用户隐藏,首先普通用户没有必要知道有这么一个帐户,同时也给系统破解带来障碍。

 

    这要从几个层面来考虑,首先是管理员的home目录需要隐藏,其次, 在系统偏好->里面不显示管理员帐户名, 再有就是在登陆列表中也不能显示。

 

    首先,需要找到一个小于500的空余UID号,也就是一个没有其他本地用户(系统或者用户)使用的UID号。Mac OSX默认的是:对于所有电脑用户生成的用户帐号,都是大于500的,而小于500的是留给系统本身使用的,操作系统为了能够正常运行,需要一些帐号,比如web服务的帐号_www, root等等。而这些小于500的UID帐号是默认不在图形界面系统中自动显示的。
    使用图形界面可以查找不同用户的UID号码, 如下图的User ID:

    使用下面的命令可以列出所有当前系统用户占用的UID:

dscl . list /Users UniqueID

    其次,变更管理员帐户Home目录的路径,这一点可以使用图形方式解决, 上图中的Home Directory就是用户的Home目录设置,你可以改变它,这样以后该用户登陆后,就会使用这个设置.

或者是命令行方式, 如下面的命令:

| dscl . -create /Users/sysadmin NFSHomeDirectory /Users/sysadmin |
|-----|

    或者可以使用隐藏目录的命令如SetFile,来设置目录的扩展属性,使其对于图形界面Finder等隐藏。这种方式也是可以接受的,但是相比把home目录移动的方法,个人认为还是移动Home的方法更隐蔽。

|  sudo setfile -a V /Users/sysadmin |
|-----|

上面的命令就在Finder里面隐藏了sysadmin管理员帐户的Home目录。

 

    然后,设置LoginWindow不显示特定的帐户。这一点可以借助其它软件来实现,而更方便的是使用命令行. 例如,使用Cocktail软件就可以隐藏管理员帐户在登陆窗口的显示, 如下图.

    使用命令行的方式,例如下面的命令行隐藏了sysadmin:

| sudo defaults write /Library/Preferences/com.apple.loginwindow HiddenUsersList -array-add sysadmin |
|-----|

 

    最后,测试:
    一定要测试,测试的结果可能是一种方法不能解决,可能需要另外一种或者多种方法组合才能解决问题。
 

    还有一种方法,也可以做到隐藏的作用,但是有点复杂。原理就是,类UNIX系统使用插件的方式以支持现代认证域的概念,这样它具有可以扩展的特性,我们就要利用这个特性来添加一个本地认证域到用户认证系统中,这个方法有它自己的优势。这里不多赘述。

 

远程管理服务

    为了方便远程管理,我们一般需要在客户端打开必要的管理服务,并确认在这些管理服务中,远程管理员帐户/用户组被授权足够权限,一般是所有权限。当然,为了管理分级/分层的需要,有的可以是“Read-Only”权限等。
    具体设置在, System Preferences->Sharing, 选中 x和x  的两个选项,并且选择添加用户,赋予足够的权限。

    对于Remote Management还需要具体设定管理员的具体权限,我这里选种了所有的权限。对于不同企业的来说很可能会不一样。

   一般来说,要打开Remote Login和RemoteManagement两个选项,这样管理员即可以使用ssh的命令行方式管理客户机,也可以使用Apple RemoteDesktop的图形方式来管理.这两种方式都给管理员以方便远程管理。当然了,一定要注意企业内部的安全管理规定,有的情况或者并不是对所有人都适合这样的设置。

    使用命令行也可以达到添加管理员用户为远程管理服务的认可权限。

主密码和FileVault

    主密码(Master password)可以用于很多地方,比如,可以不用登陆就重置用户密码,而且用于FileVault,当用户忘记自己的FileVault密码的时候,管理员可以使用主密码恢复用户的FileVault数据, 所以这个主密码很重要,而且应该是全企业统一,各版本统一,即便是需要变更也要保留完整的变更历史。即便企业目前没有计划使用这个功能,也建议设置这个主密码。

 

    官方目前没有中文的说明,英文的在这里:Creating a master password

    其实很简单,进入System Preferences的Security的Safe标签,点击Set Master Password,输入密码。如果该项被锁住了,请先开锁。

 

    如果忘记/找不到主密码,可以删除主密码文件,然后再设置一个新的,但是如果有使用FileVault的用户,他们加密数据只有使用原来的主密码才可以解密,新主密码只有在用户数据解密后重新加密,主密码才起作用。

 

    主密码相关文件保存在KeyChain文件里面:/Library/Keychains/FileVaultMaster.keychain和/Library/Keychains/FileVaultMaster.cer。只要删除他们,就可以重置主密码了。所以为了安全起见,一定要检查这两个文件的权限属性,一定要适当。

登陆窗口背景

    这是一个关乎外观而无关功能的小技巧,这里只是提醒一下,也就是把默认的LoginWindow的背景画面变更为带有公司宣传或者简单叙述公司使用规章的背景。

    首先制作一张公司背景图,应该是JPG格式的,大小,存放在任何一个地方,但是最好给所有人只读的权限,比如说,保存位置在/System/Library/CoreServices/CompanyLogin.jpg

    然后使用下面的语句变更背景

sudo defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture
/System/Library/CoreServices/CompanyLogin.jpg

    退出登录后察看是否起作用,否则请检查该图形文件的属性。

常用工具   

    有好多系统管理工具,这里不可能完全涵盖,只是列出一部分使用最多的。如果谁有好的建议,我们欢迎积极提出反馈。

    Cocktail
    Onyx

 

 

续:Mac OS X 10.5快速系统部署实践-制作核心系统镜像(3) v1

 

 

Tony Liu

2009 Calgary