Mac OS X: 实用脚本程序(bash scripts)系列
最后更新于:2022-04-01 10:54:11
# **Mac OS X: 实用脚本程序(bash scripts)系列 **
**更新历史**:
2009-06-23: 添加关于祛除打印机共享的选项,并为了突出代码而改变字体和颜色。
2009-06-22: 添加有关用户组的部分(Group ID和Group)
添加说明的第4项.
变更ARD命令和说明中的MYADMIN.
**说明**:
1. 持续更新. 因为写过也有好多网上的优秀脚本程序,对学习掌握和实际应用很有用处,在这里可以搜集起来.
1. 有的是一个完整脚本程序,有的可能只是一个语句.
1. 搜集编写这些实用脚本,可以方便管理员的日常管理工作,通过Apple Remoe Desktop等程序远程运行,也可以适用于定制程序安装包的定制等.
1. 由于篇幅排版限制,bash script语句在显示时可能自动换行.
**Account UID:
**
按照数字排序显示当前系统所有本地用户的UID:
dscl localhost list /Local/Default/Users UniqueID | awk ' {print $2} ' | sort -g
用于查找用户帐户的UniqueID
**Group ID:**
按照数字排序显示当前系统所有本地用户组的GID:
dscl localhost list /Local/Default/groups PrimaryGroupID | awk ' {print $2} ' | sort -g
用于查找用户组的唯一GID
**Account:
**
生成一个管理员帐户 sysadmin, 帐户UID=498, 密码'SysAdmin", 帐户home目录/Users/sysadmin
dscl . -create /Users/sysadmin
dscl . -create /Users/sysadmin UserShell /bin/bash
dscl . -create /Users/sysadmin RealName SystemAdmin
dscl . -create /Users/sysadmin UniqueID 498
dscl . -create /Users/sysadmin PrimaryGroupID 80
dscl . -create /Users/sysadmin NFSHomeDirectory /Users/sysadmin
dscl . -passwd /Users/sysadmin "SysAdmin"
dscl . -append /Groups/admin GroupMembership sysadmin
cp -R /System/Library/User/ Template/user.template /Users/schooladmin
chown -R schooladmin /Users/schooladmin
隐藏用户UID小于500.
**Group:**
生成一个用户组Family, GID=500, 组成员student
dscl . -create /groups Family
dscl . -create /groups/Family PrimaryGroupID 500
dscl . -create /Groups/Family RealName FamilyMembers
dscl . -create /groups/Family GroupMembers student
隐藏的用户组GID小于500
**Account Priveledge:**
设置MYADMIN帐户可以通过ARD管理本地计算机:
/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -users MYADMIN -privs -all -restart -agent -menu
**
**
**Add Printer:**
添加打印机:
lpadmin -p PRINTERNAME -E -L PRINTERLOCATION -v lpd://PRINTER_IP -P /Library/Printers/PPDs/Contents/Resources/HP/ LaserJet/ 9050.gz
注解: 将其中的全大写替换为真实环境中的值,最后根据打印机的型号制定打印机的PDDs文件.
Disable "Share this Printer" option:
祛除打印机的共享:
lpadmin -p PRINTERNAME -o printer-is-shared=false
在Mac OS X 10.5中使用上面的命令添加打印机后,打印机默认的是共享的,上面的语句就是祛除共享,当然-o选项王权可以使用在添加打印机的命令中.
**Trace:**
实用跟踪进程:
sudo opensnoop
`比如:sudo opensnoop -avgn Safari`
Details: http://theappleblog.com/2008/01/14/hidden-gems-in-leopard-opensnoop/