当前用户是System Administrator而且切换不回去

之前不小心改了用户。ID和用户名,重启之后用户就变成了system administrator,系统偏好设置的锁也一直开着,无论怎么按登录界面都切换不回去。

求助!

发布日期 2019年1月31日 下午11:57

回复
问题被标记为 排名最靠前的回复

发布日期 2019年2月1日 下午9:55

有一种可能这个用户的UID数字被改成0了。

运行下面的命令,如果它返回是0,就验证了这个猜测:

id -u


如果是这样只要将它改回一个大于500的,没有被其它用户占用的数值即可。

下面的命令列出所有大于500的用户的用户名和UID数值,以便与你选取一个:

dscl . -list /Users UniqueID | sort -k2 -n | awk '$2>500'


用下面的命令来修改 (将其中的509换成你想要的数值)

dscl . -change /Users/$(id -un) UniqueID 0 509


之后重新启动一次


注:

  1. 使用命令行的建议:将整行复制到终端程序中运行,以防漏掉诸如空格或者输入错误。
  2. 上面的命令都假设,是在这个系统管理员登录的情况下运行。
回复量: 17
问题被标记为 排名最靠前的回复

2019年2月1日 下午9:55 回应 Davines_D

有一种可能这个用户的UID数字被改成0了。

运行下面的命令,如果它返回是0,就验证了这个猜测:

id -u


如果是这样只要将它改回一个大于500的,没有被其它用户占用的数值即可。

下面的命令列出所有大于500的用户的用户名和UID数值,以便与你选取一个:

dscl . -list /Users UniqueID | sort -k2 -n | awk '$2>500'


用下面的命令来修改 (将其中的509换成你想要的数值)

dscl . -change /Users/$(id -un) UniqueID 0 509


之后重新启动一次


注:

  1. 使用命令行的建议:将整行复制到终端程序中运行,以防漏掉诸如空格或者输入错误。
  2. 上面的命令都假设,是在这个系统管理员登录的情况下运行。

2019年2月2日 下午4:55 回应 Davines_D

看原题理解有误。原因是你的当前用户就是root用户,而不是你自己的用户。


这样吧,关闭所有的应用后,运行下面的命令

rm /var/db/.AppleSetupDone; reboot


Mac重新启动后,依据初始化向导创建新用户。


如果还有问题,可以参考博客(https://blog.csdn.net/cneducation/article/details/84138463 )最后面,进入单用户模式后删除.AppleSetupDoned的步骤。


2019年2月2日 下午8:19 回应 Davines_D

现在的猜测:从你那次命令有错误的情况看,当时你的系统没有一个大于500的账户,而原来的账户的UID本应该就是501,被你改为0了。现在又新建了用户,那么这个用户UID可能是501,因为你原来的系统没有一个账户是大于500的,新建的就会501。用户的Home文件夹的权限设置是跟从UID走的。也就是现在两个账户的Home文件夹都有相同的权限设置。


为了确认上面的猜测,列出两个账户的帐户名,比如me1和me2。用下面的命令看看:

dscl . list /Users/me1 UniqueID
dscl . list /Users/me2 UniqueID
ls -l /Users; ls -ln /Users


至少有两种选择:1. 把新帐户的Home改名,把原账户的Home改名为新账户的帐户名相同,这样新建账户就如同原账户一样,确认工作后,再删除新帐户的Home改名,唯一的是帐户名不一样;2. 删除新账户,修复旧账户UID


注:用户的Home文件夹,就是在/Users目录中的与帐户名相同的文件夹。

2019年2月5日 上午10:20 回应 Davines_D

启动到恢复模式,使用终端,命令行会有所不同。


先在磁盘工具中确认你的启动卷已经装载成功,如果启用了文件保险箱,装载时会要求你输入用户名和密码。

然后终端中执行命令:

mv -f "/Volumes/Macintosh HD/Users/davines" "/Volumes/Macintosh HD/Users/davines.old"
mv -f "/Volumes/Macintosh HD/Users/Davis" "/Volumes/Macintosh HD/Users/davines"


如果你的启动卷名称不是"Macintosh HD",那么把上面两个命令中的"Macintosh HD"替换成你的卷名称


2019年3月6日 上午11:43 回应 Davines_D

你的命令输入有如下问题:

  1. "-f" 后面有个空格
  2. 每个Volumes 的前面有斜杆字符 /
  3. 在 davines" "/Volumes 的两个引号之间也有个空格

这些字符都不能忽略


另外,也可以尝试:

  1. 先关闭SIP
  2. 正常启动后,尝试前面有下面命令的回答: mv -f /Users/davines /Users/davines.old
  3. 然后在打开SIP



打开/关闭SIP都是在恢复模式中的终端中操作,输入命令。

关闭的命令:

csrutil disable

打开的命令:

csrutil enable


2019年2月3日 上午1:56 回应 Davines_D

跟我的猜测一样。


选择第一个方法比较简单。用下面的命令

mv -f /Users/davines /Users/davines.old

这一句是把新账户的Home换名,等确认所有数据都没问题后,可以将之删除


mv -f /Users/Davis /Users/davines

这一句是将原账户的Home文件夹换名为新账户名


使用davines登录,以前的数据应该就都回来了。


确认数据没有问题后,删除Davis帐户和davines.old文件夹

这个主题已被系统或社区团队关闭。 你可以为你认为有帮助的任何帖子投票,也可以在社区中搜索其他答案。

当前用户是System Administrator而且切换不回去

欢迎来到 Apple 支持社区
Apple 客户在其产品方面互相帮助的论坛。使用您的 Apple 帐户开始畅游其中吧!!