MAC OS X 系统用户权限高级配置论,跟我一起玩转权限重置密码,定制你自己的MAC系统
声明:该贴内所涉及的密码重置与系统权限越权强制重载操作。请勿用于恶意用途,因此所带来的一切问题和法律责任,本人不承担任何后果。 请各位注意阅读第三章的p.plus注意保护自己的文档和KeyChain. 在此重申。该教程所涉及的重置技术仅用于忘记密码后重置并挽救数据所用。禁止恶意用途
我去重装了6 7 次了
搞这个一不小心就搞坏权限系统就嘟嘟噜了呼
警告:此文涉及高级权限操作,一旦失误将导致系统崩溃。(权限的错误将无法正常系统运转)。故,请各位操作时务必注意。并且备份数据
帐户(Users)权限以及组别(Groups)概述,及MAC用户管理模式初探
DSCL&Directory Utility 初阶探索与修改[策略组计划,完美控制系统权限]
DSCL(Directory Service command line utility)高级配置[进阶配置向]
我们将会在第三章讲述如何在登陆&不登陆(不进入)系统的情况强行重置内核/系统任一帐户密码和获得系统权限!修改组/root/信息。获得所有数据。不过最好能先阅读第一章了解原理和过程。
PS:即使白苹果设置了硬件密码依旧可破。
帐户(Users)权限以及组别(Groups)概述,以及MAC用户管理模式初步窥探
为该教程新手向普及。大致讲解下帐户权限的有关概述
=用户Users = 隶属于 =组Groups =(又包括Everyone组)通过复杂的组的变换和限制制约,
构架了整个mac os x的安全体系。
注意:这种管理方式和我们普遍所理解的Linux管理模式不同!
我们可以在终端输入命令$id来查看当前用户(Users)的所处状态和组(Group)信息
前面数字为 Users 或者 Group的编号
细心的朋友会发现在更改文件权限Chown root:wheel可以采用0:0代替。其实0:0就代表了Root和Wheel
如图所示
这里要区别一下于Linux系统。
通过观察可以发现,在MAC OS X系统中,用户都归于Staff组别并且包含有后文多项特殊组别属性类似于sharepoint(public)(LocalAccount)等
有Linux基础的同学一定会感叹。我去这玩意不是和linux一样么~|/etc/passwd | /ect/groups 搞定嘛~
材料员
那么。。其实是应该是错误的观念,MACOSX基于BSD对于帐户&组别管理完全已经不在依赖于passwd和groups完全是另一套全新的管理模式~你甚至都无法在/etc/passwd中到你自己的用户名!所以这和macosx中的用户权限不是一回事
不过这两个文件他们是什么作用呢?
他们是作为单用户模式使用,内核权限的管理模式(不是系统中开启的root,内核的root和系统root完全!不!是!一!回!事!)
我们系统中提到并且使用的系统ROOT非内核root
系统中的ROOT是另一个管理模式中的超级管理员System Administrator并不能真正称之为ROOT请各位不要混淆了概念哦!
(BSD重新定义了整个管理模块,其实是分两个管理模式)
多用户系统(带图形界面GUI,专业来说为多用户分时操作系统)
使用OPEN Directory 服务+XML模板来管理权限(XML文件存放在/private/var/db/dsloc
al/)
内核模式(单用户模式):
UNIX根本的PASSWD/GROUP模式管理权限
这里有个小概念需要提出
所谓单用户模式(不是大家理解的单个用户登陆系统,而是一个但用户的环境!)
单用户模式 即 变龙的-s 模式 白苹果COM+S进入模式 只有这里的root才是真内核的root!
不过该模式仅仅用于调试,抢救,没有任何GUI界面
以ROOT(根)的帐户登陆并且仅启动并加载SHELL非正常系统模式,用于系统抢救、磁盘维护等
这里大家可以对比下
内核root密码修改方法为 在terminal中输入
1. sudo passwd -i file root
复制代码
而OSX系统内的 root密码修改 在terminal
1. sudo passwd root
复制代码
这是两个不同的!
附注:在单用户模式下修改 内核root的方法为
1. chroot /
2. passwd
复制代码
即可
如果有兴趣的想深究的同学可以man一下passwd
我这里贴出来一小部分
关于passwd -i 和file的参数
-i infosystem
This option specifies where the password update should be applied. Under Mac OS X 10.5and later, supported directory systems are:PAM (default) Pluggable Authentication Modules.
opendirectory
什么都可以原谅A system conforming to Open Directory APIs and supporting updates (including LDAP, etc). If no -l option is specified, the search node is used.
file The local flat-files (included for legacy configurations).
nis A remote NIS server containing the user's password.
下面我们来讲解一下,看一下系统存在/etc/passwd 和 /etc/group吧!
我们根本无法到自己的用户名及其权限组别及其代码。(尚不知道是否在每次系统载入内核时都必须载入passwd Group作为数据库)不过可以确定的是用户的管理已经不在依赖于/etc/passwd,/etc/groups。
这里需要区别于linux系统,他们是我们所理解的真正一以上依靠 passwd来管理用户及其组的权限的系统喔!
我们发现在实际用户管理模块中passwd/Group中数据的仍然存在(可能被调用或者映射)不过仔细观察也多了类似于Generated UID等项目的插入。
所以说DSCL基于PASSWD内部的数据而扩展而来(但不再依赖)
MACOSX 采用Open Directory的一个Directory Service服务,使用XML(类似于PLIST)的方式来存储数据,使用dscl命令库来维护
XML存放在/private/var/db/dslocal/里面。
如下图所示
用户权限的大概概述已经描述完毕,下面我们就来一起研究下关于文件系统的权限(和上文不同概念)去除马赛克
(这里类似于基金份额计算Linux我一笔带过,如有不太明白的随便linux文件权限书记或者网上搜一下一大把的。)
可以发现 d rwx r-x r-x 为标准的权限信息。第一组三位为Users 第二组三位为 Group 第三组三位为 Everyone
而后面的 Evovil Staff Root Whell等 为该文件的 Onwer信息 即该文件所属用户 该文件用户所对应的组权限等。 分别有详细规范 各位可以各自了解一下
总结归纳一下即 用户和所属的各个组各自都有不同的权限规范,文件也有各自所属的权限,若用户或者所属组权限和所对应的文件夹或者文件相匹配,则可完成认证授权并对文件或者文件夹进行操作设置,也就是整个安全系统的精华所在
DSCL&Directory Utility 初阶探索与修改
可以发现MAC基于BSD自带一套复杂的权限管理系统并提供了DSCL这个TOOLS来协助管理
相信大家Man一下DSCL一定会吐血。复杂而冗长的命令行,一定会让人望而却步,不过没关系~
apple的工程师为我们开发了一个GUI用于方便的管理
这个工具就叫做Directory Utility
它位于/system/library/CoreServices下,附注:不会开启root的同学可以在这里开启Root用户哦~
D U是个很强大的工具,你需要修改的东西,比如你的home目录啦 你的组别啦,组里的人啦,都能一步到位~非常便捷哟
我们先来看一下他的界面吧~
Service是进阶向。暂不讨论。
不难发现。该帐户[本地帐户作为例子]信息一目了然
其中包含 帐户的UniqueID 武汉长江二桥即UID 所隶属的Primary GroupID
还有诸如账户名 显示名字帐号密码(隐藏)不过可修改或者重置 帐户所属的HOME目录SHELL位置(同linux)
和唯一的 GeneratedUID编码等
我们再来看一下Group信息 以80[admin作为例子]
可以发现 Group中包含 GereatedUID[即唯一的标识名(区别于/etc/group)]
还有所蕴含的成员Members[以唯一的GreratedUID作为标识]
Membership[作为上面GeneratedUID的表识]记账户名 我们可以看到 Admin下有ROOT 和 六年级上册数学教学计划本人的帐户
下面的 PrimaryGroupID作为组别的id标识 以便上文的users匹配引用
还有一些参数这里暂不讲解
下面我们来讲解几个实例。综述关于权限管理的强大之处!
系统默认的创建的用户即获得了Admin权限 也相应的赋予了ROOT (需要Auth授权)
即属于组别 默认20(staff),80(admin) ,12(everyone),61(localaccounts),80(admin) 安装了xcode的话还将会被赋予204(_developer)权限等。
而对外所使用的权限则尽囊括于其中 譬如在application中
drwxr-xr-x 3 Evovil admin 102 Nov 24 15:22 QQ.app
这是qq程序。他的 ONWER为 Evovil和所属的Admin组别 也就是 admin组和所有的Everyone(包括Guests)都可访问读取执行QQ。app 不过 用户Evovil有修改(Write)的权限。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论