“用户与群组”偏好设置存在错误。
点击偏好设置存在错误。
iMac 27″, macOS 12.6
点击偏好设置存在错误。
iMac 27″, macOS 12.6
1> 有点怪的,新建账户都不行.
打开一个新的终端窗口,然后运行下面的命令,看看能不能打开
open /System/Library/PreferencePanes/Accounts.prefPane
重启动到安全模式,后尝试打开“用户与群组”,如果可以打开,把没用的登录项尽量删除
返回正常登录:
删除文件:~/Library/Preferences/com.apple.systempreferences.plist。或者直接运行命令也可以:
rm ~/Library/Preferences/com.apple.systempreferences.plist
如果依然有问题,可能是其它有问题的用户造成的,这就需要真实的数据,账户名称和 UID 等,都不是敏感数据,贴上来没有问题。
dscl . -list /Users UniqueID | awk '$2>500' | sort -k2 -n
下面的命令是一个更全的显示系统中“所有”用户账户基本信息的,它会把结果保存到桌面的 info.txt 文件,可以把它贴上来,以便分析:(注:这行命令很长一定要复制完整才能运行正确)
clear; { echo "= Local User List:"; dscl . -list /Users UniqueID | sort -k2 -n; printf "~~~%.0s$s" {1..10}; printf "\n=== Users Folder:\n"; ls -la /Users/; printf "~~~%.0s$s" {1..10}; printf "\n=== Current User=[$(id -un)] Directory Configurations:\n"; dscl . read /Users/$(id -un) NFSHomeDirectory PrimaryGroupID RealName RecordName RecordType UniqueID UserShell GeneratedUID AuthenticationAuthority AltSecurityIdentities; printf "~~~%.0s$s" {1..10}; printf "\n=== All User Local HomeDirectory Setting:\n"; dscl . -list /Users UniqueID | sort -k2 -n | awk '$2>500' | awk '{print $1}' | while read user; do dscl . read /Users/$user NFSHomeDirectory | awk '{print $2}'; done; printf "~~~%.0s$s" {1..10}; printf "\n===Secure Token:\n"; dscl . -list /Users UniqueID | sort -k2 -n | awk '$2>500' | awk '{print $1}' | while read user; do sysadminctl -secureTokenStatus $user; done; printf "~~~%.0s$s" {1..10}; printf "\n===File System Status:\n"; sysadminctl -filesystem status; printf "\n===macOS Version:\n"; sw_vers; printf "\n===Hardware Basic Info:\n"; system_profiler SPHardwareDataType | grep -v "Serial Number\|Hardware UUID"; printf "~~~%.0s$s" {1..10}; dscl . -list /Users UniqueID | sort -k2 -n | awk '$2>500' | awk '{print $1}' | while read user; do printf "\n=== User=$user:\n"; dscl . read /Users/$user NFSHomeDirectory NFSHomeDirectory PrimaryGroupID RealName RecordName RecordType UniqueID UserShell GeneratedUID AuthenticationAuthority AltSecurityIdentities; done; printf "~~~%.0s$s" {1..10}; printf "\n===Users home folder:\n"; dscl . -list /Users UniqueID | sort -k2 -n | awk '$2>500' | awk '{print $1}' | while read user; do printf "\n------------User=$user-----------:\n"; ls -hale@ $(dscl . read /Users/$user NFSHomeDirectory | awk '{print $2}'); done; } 2>&1 | tee ~/Desktop/info.txt
2> 这个问题是文件权限的限制的。每个用户生成的文件,默认的权限是644,默认的拥有者是当前用户,6 管的是文件的拥有者,意思是可读可写;后面的 44意思就是,同组用户或者其他人都可以读但是不能写(修改)。
最好是把文件的所属用户改为你常用的账户,这样为以后省去很多不必要的可能问题。
想到的比较好的方式是,建立一个工作目录,比如桌面的 MyFiles;把所有的文件移动到这个目录中,然后运行下面的命令来变更拥有者为当前用户:
sudo chown -R $(id -un) $HOME/Desktop/MyFiles
小结,以前也看到这里有人说“用户与群组”偏好设置错误,没有看到特别好的办法解决。这次不知道能否找到一个方法。所以,如果哪一步解决了,也请贴上来自己的操作过程和发现的现象。如果都没有解决,最好是运行上面的命令把信息贴上来,以供进一步的分析。
1> 有点怪的,新建账户都不行.
打开一个新的终端窗口,然后运行下面的命令,看看能不能打开
open /System/Library/PreferencePanes/Accounts.prefPane
重启动到安全模式,后尝试打开“用户与群组”,如果可以打开,把没用的登录项尽量删除
返回正常登录:
删除文件:~/Library/Preferences/com.apple.systempreferences.plist。或者直接运行命令也可以:
rm ~/Library/Preferences/com.apple.systempreferences.plist
如果依然有问题,可能是其它有问题的用户造成的,这就需要真实的数据,账户名称和 UID 等,都不是敏感数据,贴上来没有问题。
dscl . -list /Users UniqueID | awk '$2>500' | sort -k2 -n
下面的命令是一个更全的显示系统中“所有”用户账户基本信息的,它会把结果保存到桌面的 info.txt 文件,可以把它贴上来,以便分析:(注:这行命令很长一定要复制完整才能运行正确)
clear; { echo "= Local User List:"; dscl . -list /Users UniqueID | sort -k2 -n; printf "~~~%.0s$s" {1..10}; printf "\n=== Users Folder:\n"; ls -la /Users/; printf "~~~%.0s$s" {1..10}; printf "\n=== Current User=[$(id -un)] Directory Configurations:\n"; dscl . read /Users/$(id -un) NFSHomeDirectory PrimaryGroupID RealName RecordName RecordType UniqueID UserShell GeneratedUID AuthenticationAuthority AltSecurityIdentities; printf "~~~%.0s$s" {1..10}; printf "\n=== All User Local HomeDirectory Setting:\n"; dscl . -list /Users UniqueID | sort -k2 -n | awk '$2>500' | awk '{print $1}' | while read user; do dscl . read /Users/$user NFSHomeDirectory | awk '{print $2}'; done; printf "~~~%.0s$s" {1..10}; printf "\n===Secure Token:\n"; dscl . -list /Users UniqueID | sort -k2 -n | awk '$2>500' | awk '{print $1}' | while read user; do sysadminctl -secureTokenStatus $user; done; printf "~~~%.0s$s" {1..10}; printf "\n===File System Status:\n"; sysadminctl -filesystem status; printf "\n===macOS Version:\n"; sw_vers; printf "\n===Hardware Basic Info:\n"; system_profiler SPHardwareDataType | grep -v "Serial Number\|Hardware UUID"; printf "~~~%.0s$s" {1..10}; dscl . -list /Users UniqueID | sort -k2 -n | awk '$2>500' | awk '{print $1}' | while read user; do printf "\n=== User=$user:\n"; dscl . read /Users/$user NFSHomeDirectory NFSHomeDirectory PrimaryGroupID RealName RecordName RecordType UniqueID UserShell GeneratedUID AuthenticationAuthority AltSecurityIdentities; done; printf "~~~%.0s$s" {1..10}; printf "\n===Users home folder:\n"; dscl . -list /Users UniqueID | sort -k2 -n | awk '$2>500' | awk '{print $1}' | while read user; do printf "\n------------User=$user-----------:\n"; ls -hale@ $(dscl . read /Users/$user NFSHomeDirectory | awk '{print $2}'); done; } 2>&1 | tee ~/Desktop/info.txt
2> 这个问题是文件权限的限制的。每个用户生成的文件,默认的权限是644,默认的拥有者是当前用户,6 管的是文件的拥有者,意思是可读可写;后面的 44意思就是,同组用户或者其他人都可以读但是不能写(修改)。
最好是把文件的所属用户改为你常用的账户,这样为以后省去很多不必要的可能问题。
想到的比较好的方式是,建立一个工作目录,比如桌面的 MyFiles;把所有的文件移动到这个目录中,然后运行下面的命令来变更拥有者为当前用户:
sudo chown -R $(id -un) $HOME/Desktop/MyFiles
小结,以前也看到这里有人说“用户与群组”偏好设置错误,没有看到特别好的办法解决。这次不知道能否找到一个方法。所以,如果哪一步解决了,也请贴上来自己的操作过程和发现的现象。如果都没有解决,最好是运行上面的命令把信息贴上来,以供进一步的分析。
安全模式和删除文件(前面忘了说了删完文件需要立刻重新启动)的步骤做了吗?
尝试下面两步,每一步后都测试下能否成功进入“用户与群组”
先尝试禁止 Guest 用户:
sudo sysadminctl -guestAccount off
尝试把 Guest 账户删除下:
dscl . delete /Users/Guest
试试重置下 SMC 和 NVRAM。
除此之外,就是备份数据后抹盘重装系统了。
重装系统后,只恢复用户数据,其它的都自己一个一个地重新手动安装和配置,并注意什么时候有再错误产生。
今天升级了新的macOS ventura,用户与偏好设置能够打开了,且能够删除账户,我将原来的账户b删除了。但是我还是对一些文件权限和归属问题感到疑惑,不同文件的来源似乎很影响其文件的权限和归属,有的文件从网络上下载下来默认为本账户可读写、staff和everyone是只读,有的文件从windows电脑(比如通过两者连接同一wifi)传输过来,就会有系统,wheel和everyone的读写权限。仿佛每个不同的文件都有自己一套权限归属,不能统一。有什么方式能够把这些从不同来源获得的文件权限统一起来吗?
问题1:
1.
open /System/Library/PreferencePanes/Accounts.prefPane
运行以上命令行仍旧是错误信息,无法打开“用户与群组”
2.
clear; { echo "= Local User List:"; dscl . -list /Users UniqueID | sort -k2 -n; printf "~~~%.0s$s" {1..10}; printf "\n=== Users Folder:\n"; ls -la /Users/; printf "~~~%.0s$s" {1..10}; printf "\n=== Current User=[$(id -un)] Directory Configurations:\n"; dscl . read /Users/$(id -un) NFSHomeDirectory PrimaryGroupID RealName RecordName RecordType UniqueID UserShell GeneratedUID AuthenticationAuthority AltSecurityIdentities; printf "~~~%.0s$s" {1..10}; printf "\n=== All User Local HomeDirectory Setting:\n"; dscl . -list /Users UniqueID | sort -k2 -n | awk '$2>500' | awk '{print $1}' | while read user; do dscl . read /Users/$user NFSHomeDirectory | awk '{print $2}'; done; printf "~~~%.0s$s" {1..10}; printf "\n===Secure Token:\n"; dscl . -list /Users UniqueID | sort -k2 -n | awk '$2>500' | awk '{print $1}' | while read user; do sysadminctl -secureTokenStatus $user; done; printf "~~~%.0s$s" {1..10}; printf "\n===File System Status:\n"; sysadminctl -filesystem status; printf "\n===macOS Version:\n"; sw_vers; printf "\n===Hardware Basic Info:\n"; system_profiler SPHardwareDataType | grep -v "Serial Number\|Hardware UUID"; printf "~~~%.0s$s" {1..10}; dscl . -list /Users UniqueID | sort -k2 -n | awk '$2>500' | awk '{print $1}' | while read user; do printf "\n=== User=$user:\n"; dscl . read /Users/$user NFSHomeDirectory NFSHomeDirectory PrimaryGroupID RealName RecordName RecordType UniqueID UserShell GeneratedUID AuthenticationAuthority AltSecurityIdentities; done; printf "~~~%.0s$s" {1..10}; printf "\n===Users home folder:\n"; dscl . -list /Users UniqueID | sort -k2 -n | awk '$2>500' | awk '{print $1}' | while read user; do printf "\n------------User=$user-----------:\n"; ls -hale@ $(dscl . read /Users/$user NFSHomeDirectory | awk '{print $2}'); done; } 2>&1 | tee ~/Desktop/info.txt
运行以上命令行后桌面出现的txt文档的信息如下:
问题2:
我发现把原来的文件夹复制一份到桌面后即不会出现只能只读的情况,且能够正常打开和编辑,但是原迁移过来的文件夹仍旧只能以只读方式打开,即使我已经把原迁移过来的文件夹的权限变更为所有用户都能够读和写。是否我可以这样推论:所有从其他账户b中迁移到原账户a的文件都需要重新复制一份到原账户a的其他文件夹(比如桌面),才能真正实现原账户a的读与写的权限。也即第一次从其他账户b中复制到原账户a的文件,即使修改其管理员权限也仍旧无济于事(只能读,不能写),必须通过第二次在原账户a内部的复制后才能够实现文件真正的读写自由。(以上情况仅仅针对word文档,其他文档并未验证)
问题 2:
当复制一个文件成功后,这个文件自动被默认地设置为:拥有者是操作的用户,而且具有读写权限(看情况也可能赋予运行权限)。这就是为什么你描述的情况发生。
我说的移动过来后再改拥有者的方法,是避免复制造成文件重复,一是可能重复占用空间,二是最好只维护一个版本。
前面运行的检查命令的结果也说明,在你的reminder用户中,有好些(这里显示是乱码,很可能是中文的)目录,它的所有者是root和另外一个账户a86150的。最好运行那个变更拥有者的命令,避免今后可能的小麻烦。当然了这个随个人喜好。
drwxr-x---+ 15 a86150 staff 480B 10 22 13:41 æ¡
0: group:everyone deny delete
drwxrwxrwt 72 root wheel 2.3K 10 20 07:59 常å¤
drwxrwxrwt 101 root wheel 3.2K 10 20 02:04 æ ä»¶
你的理解基本上是对的。
稍微多说一点。拥有者可以改变权限。一个文件的传统POSIX用户定义有三级:拥有者owner,群组group,其他人others。
权限定义能进行的操作,传统POSIX 权限主要是读、写、执行。
在传统 POSIX 中可以给文件用户的三级分别设置权限(读、写、执行)。
所以,在终端中会经常看见类似 rwxr--r-- 的描述,在你上传的文件中就到处都是,解读它的方式,每三个一组: rwx | r-- | r--。
第一组的 rw- 说的是文件拥有者,其中 第一个 r 说的是文件拥有者有读的权利,第二个 w 说的是文件拥有者有写(更改)的权利,第三个的 x 说的是,文件拥有者有执行的权利。
第二组的 r-- 说的是群组,r 与上面说的代表相同的意思,- 的意思是没有该权利,所以,r-- 说明是没有写和执行的权利。
第三组的 r-- 说的是其他人,r 和 - 与上面说的代表相同的意思
另外,稍微强调一下,类 Unix 系统中,拥有最大权利的是 root 用户,它可以任意更改文件的权限。
网上应该有很多的中文介绍 POSIX权限的文章,比我解释的更深入调理和清楚。
哦哦,我是否可以这样理解:文件夹的拥有者和修改文件夹权限是两码事,且后者不能代替前者,后者即使给了文件夹读与写的权限也可能出现一些麻烦(比如文件修改后无法正常保存),而前者作为拥有者能够对文件夹拥有最根本的权利,而不用来自其他账户拥有者的“授权”读与写的权限。所以最好还是应该将文件和文件夹都变成此账户所拥有,避免一些权限不能的麻烦。
regepod,你好
感谢你来到 Apple 支持社区!
我了解到你在使用 Mac 时,遇到了“用户与群组”便好设置面板无法打开的情况。由于暂时还没有其他社区用户来回复你的帖子,在此之前,建议你不妨先尝试以下操作步骤:
如果以上操作步骤未能解决你的问题,请联系 Apple 支持来获得更多协助。请点击以下链接,选择“Mac”:Apple Support
希望可以帮助到你,谢谢!
前提:我尝试了以上方法都没有用。
问题1:假设我原本有一个账户a,因为用迁移助理从pc端传输文件时根据需要新建了一个新的账户b,然后需要把新账户b的文件复制到旧账户a中,然而在旧账户a中打开“用户与群组”时出现如上图所示的“用户与群组”偏好设置存在错误的信息,同时我创建第三个具有管理员权限的账户c时也同样出现旧账户a中“用户与群组”偏好设置存在错误的信息,然而账户b并不存在以上错误信息。最终结果是:只有账户b能够打开“用户与群组”偏好设置,其他账户都会出现如上图所示的“用户与群组”偏好设置存在错误的信息。以上,请问这个问题如何才能解决,使所有账户都能够打开“用户与群组”偏好设置,而不会出现如上图所示的错误情况?具体的原理如何?
问题2:我从b账户复制迁移的文件到a账户后,其中的word文档只能通过只读模式打开,如果需要编辑则要另外复制一份副本,也就是说所有的word的文档我都要一一打开复制一份副本才能够编辑。然而在我登陆b账户打开前述word文档则不会出现只能通过只读模式打开的情况,也即能够正常打开且能够正常编辑。以上,请问这种情况的发生是管理员权限的问题还是系统问题(对于文件权限我全部设置了能够读与写)?如何解决?具体的原理如何?
麻烦辛苦答复!
前提:我尝试了以上方法都没有用。
问题1:假设我原本有一个账户a,因为用迁移助理从pc端传输文件时根据需要新建了一个新的账户b,然后需要把新账户b的文件复制到旧账户a中,然而在旧账户a中打开“用户与群组”时出现如上图所示的“用户与群组”偏好设置存在错误的信息,同时我创建第三个具有管理员权限的账户c时也同样出现旧账户a中“用户与群组”偏好设置存在错误的信息,然而账户b并不存在以上错误信息。最终结果是:只有账户b能够打开“用户与群组”偏好设置,其他账户都会出现如上图所示的“用户与群组”偏好设置存在错误的信息。以上,请问这个问题如何才能解决,使所有账户都能够打开“用户与群组”偏好设置,而不会出现如上图所示的错误情况?具体的原理如何?
问题2:我从b账户复制迁移的文件到a账户后,其中的word文档只能通过只读模式打开,如果需要编辑则要另外复制一份副本,也就是说所有的word的文档我都要一一打开复制一份副本才能够编辑。然而在我登陆b账户打开前述word文档则不会出现只能通过只读模式打开的情况,也即能够正常打开且能够正常编辑。以上,请问这种情况的发生是管理员权限的问题还是系统问题(对于文件权限我全部设置了能够读与写)?如何解决?具体的原理如何?
麻烦辛苦答复!
在我查看不同文件的简介时,共享与权限的区域会出现很多用户名,除了我自己创建的两个用户外,还有系统,Wheel,Administrators,Staff,Everyone共五类名字,我自己创建一个用户还会显示两个不同的名字(两个不同的名字分别为用户文件夹名和登陆时显示的用户名)。被这些用户名和权限授予弄的一团乱,有什么办法具体了解这些用户和权限吗?或者说什么情况下(比如创建账户时)这些用户和权限互相之间会产生隔阂,导致各种小麻烦(如文件编辑后无法保存)的发生?
对,这个就是在 POSIX 权限定义基础上扩展的内容,叫做访问控制列表,ALCs。因为前面说的一个文件的用户只有三级和读写执行权力。在现代环境中,POSIX无法适应多用户网络环境的需求,所以,大多数类 Unix 在大约 200x 年的时候,就引入了 ACLs 概念(还有 ACE 概念,初次接触这些概念的人,太多概念容易造成混乱,下面都笼统用ACLs代替所有情况)。Mac操作系统大约是在 2002 年引入 ACLs 的,如果没有记错的话,第一个可用的系统是 Mac OS X 10.4 Tiger老虎。
ACLs 的主要用途是突破 POSIX 的限制,更细致化地定义文件的权限。比如,在不改变原有 POSIX 权限的情况下,POSIX 中 others 定义只有读权限(r--),那么用 ACL 可以定义某个非拥有者用户有写的权利,这个造成的结果是,所有其它用户都还是只读,但只有某个特定用户可以写。当然权力也细化了,比如读取、修改权限的权利,是否可以删除,是否可以继承等等。
下图(来源于网络图片)是TinkerTool 4的界面,可以看到更多的权限。
就你的情况,在简介中,如果一个文件(文件夹也是一种文件)有多于三条的情况,就是有了 ACLs。一般的,三个不可以删除的是文件的 POSIX 定义的权限,其它的是 ACLs。“系统,Wheel,Administrators,Staff,Everyone”这些都是当前系统中的用户(系统,其实就是 root用户)或者群组(Wheel,Administrators,Staff,Everyone都是群组)。
在简介中,无法变更 POSIX 的用户,也就是左面的“名称”列,只能是通过添加 ACLs 来变更权限设置。
你可以在桌面新建一个目录,在简介中显示的就是它的 POSIX 的权限,也是默认的权限。
就个人而言,在终端中看到的更明显。如同你前面上传的文件中就有几个例子,比如下面的记录:
drwx---rwx+ 16 a86150 staff 512B 10 23 01:08 Desktop
0: group:everyone deny delete
1: group:admin allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity
2: user:reminder allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity
显示的就是你的 a86150用户中的桌面文件夹的权限设置,下面的0,1,2这三行就是 ACLs 的内容,其中第三行,给了用户reminder的列表,添加,搜索,添加子文件夹,删除子文件,读写权限设置,读写扩展权限,读安全设置等等的权限。而其实,你的reminder用户本身是管理员,所以与前面一行的设置是重复的。没有什么不好,这个是没有精心设计时常见的现象。好的是,还没有冲突的设置呢。
对于普通用户来说,把东西设置得简单明了是最好的。
ACLs 是很好的东西。但是,不是对所有人都“友好”。因为它容易造成混乱,ACLs 加上 POSIX 相互彼此影响,如果不精心设置,再加上人的理解限制,在简介中的显示,有的时候眼到看的与机器识别的会存在差异,比如,我看着明明是可以变更的,但是就是不行;明明是可以删除的,就是不行;我没有设置过,这个权限是哪里来的;有的操作造成丢失 ACLs 也是可能的等等。
总之吧,选择自己喜欢的方式吧
看来这个问题真的没有太多办法了(实在不想用最粗暴的办法——比如重装系统——解决问题)。我已经反馈给了苹果客服,等几天看他们有什么办法。这种问题在网上几乎找不到解决方案,只能靠自己摸索。我刚开始使用mac,有很多不懂的地方,再加上没有理工科背景,对计算机知识一窍不通,只能通过一些浅层的、用户端的尝试去解决问题。对于这些问题感到疑惑也纯粹是完美主义心理的作祟,觉得自己应当充分足够了解自己每天使用的电子产品,在出问题时不至于两眼一抹黑,但还是发现计算机知识无穷无尽,有机会我再空出时间系统学学吧。先不折腾了,让工具回归工具,能用就行,一点点瑕疵也没多大妨碍。
在用户与群组中没有设置过任何登陆项
“用户与群组”偏好设置存在错误。