欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

sudo dscl . -delete /Groups/admin GroupMembership luxshare-ict eDSAttributeNotFound DS Error: -14134 彻底把用户由管理员变成普通用户的正确方法 AG 通义 merlin maxai chatgpt 有大用 有大大用 有大大大用 有大大大大用 有大大大大大用

下面几步操作能彻底把用户由管理员变成普通用户

sudo dscl . -merge /Groups/admin GroupMembership bbbb-admin

sudo dscl . -delete /Groups/admin GroupMembership bbbb-admin

dscacheutil -flushcache

id -Gn bbbb-admin  

 if [ $? -ne 0 ];then

      (/usr/bin/osascript -e  "display dialog \"成功把 $userName 修改为普通用户,请重启电脑(或退出登录再登录)!\" buttons {\"OK\"}   default button \"OK\"")

else     

    sudo dseditgroup -o edit -d bbbb-admin -t user admin    dseditgroup 再次从admin组中删除

      (/usr/bin/osascript -e  "display dialog \"成功把 $userName 修改为普通用户,请重启电脑(或退出登录再登录)!\" buttons {\"OK\"}   default button \"OK\"")

fi



下面几步操作能彻底把用户由普通用户变成管理员

sudo dscl . -merge /Groups/admin GroupMembership bbbb-admin

dscacheutil -flushcache

id -Gn bbbb-admin  

 if [ $? -eq 0 ];then

      (/usr/bin/osascript -e  "display dialog \"成功把 $userName 修改为普通用户,请重启电脑(或退出登录再登录)!\" buttons {\"OK\"}   default button \"OK\"")

else     

    sudo dseditgroup -o edit -m bbbb-admin -t user admin     # dseditgroup 再次从admin组中merge

      (/usr/bin/osascript -e  "display dialog \"成功把 $userName 修改为普通用户,请重启电脑(或退出登录再登录)!\" buttons {\"OK\"}   default button \"OK\"")

fi






如果您在使用命令

text
sudo dscl . -delete /Groups/admin GroupMembership bbbb-admin

删除用户时遇到 eDSAttributeNotFound DS Error: -14134 的错误,这意味着您尝试修改的属性(GroupMembership)在该记录中不存在。以下是解决此问题的一些步骤:


  1. 检查当前组成员: 首先,确认用户 bbbb-admin 是否确实是 admin 组的成员。您可以使用以下命令显示 admin 组的当前成员:

    bash
    sudo dscl . -read /Groups/admin GroupMembership
    
  2. 验证用户存在性: 确保用户 bbbb-admin 存在,可以通过下面的命令查看用户列表:

    bash
    sudo dscl . -list /Users
    
  3. 读取组信息: 如果组存在但仍然无法进行修改,请尝试读取 admin 组的具体属性,以验证其结构:

    bash
    sudo dscl . -read /Groups/admin
    
  4. 修改命令: 如果 admin 组确实存在,但您仍然有问题删除用户,可以尝试以下命令:

    bash
    sudo dscl . -append /Groups/admin GroupMembership bbbb-admin
    

    然后再尝试删除:

    bash
    sudo dscl . -delete /Groups/admin GroupMembership bbbb-admin
    
  5. 检查重复项: 如果 luxshare-ict 在 GroupMembership 列表中出现多次,您可能需要逐个处理这些实例。

  6. 检查其他属性: 确保没有其他属性(例如 __group__)可能会干扰您修改 GroupMembership 的能力。

  7. 使用系统偏好设置: 如果命令行无法正常工作,您也可以尝试通过系统偏好设置中的“用户与群组”来移除用户(如果您有权限)。

如果在尝试这些步骤后仍然无法删除用户,建议检查系统日志以获取其他错误信息,或者使用目录服务工具(如目录实用工具)手动进行更改。




好的!你遇到的错误信息 eDSAttributeNotFound DS Error: -14134 指示你在使用 dscl 命令时发生了问题,具体来说是你尝试删除的用户 bbbb-admin 并不存在于指定的组(admin)中。

解决问题的步骤

  1. 检查当前组成员:在删除成员之前,先查看组内当前有哪些成员。可以使用以下命令:

    bash
    sudo dscl . -read /Groups/admin GroupMembership
    

    这个命令会列出 admin 组的所有当前成员。请查看输出中是否包含 bbbb-admin

  2. 确认组存在:确保你要修改的组确实存在。可以用下面的命令列出所有组:

    bash
    sudo dscl . -list /Groups
    

    确保 admin 被列为其中的一组。

  3. 检查拼写或大小写问题:确保组名和用户名没有拼写错误,注意这些名称可能是区分大小写的。

移除用户出组

如果确认 bbbb-adminadmin 组的成员,但仍然出现该错误,可以尝试以下方法:

  1. 使用 -append 命令:可以尝试先添加用户到 admin 组,然后再删除:

    bash
    sudo dscl . -append /Groups/admin GroupMembership bbbb-admin
    sudo dscl . -delete /Groups/admin GroupMembership bbbb-admin
    

    这通常能解决问题。

创建用户(如果需要)

如果确认 bbbb-admin 并不存在,你需要先创建这个用户才能管理其组成员资格:

bash
sudo dscl . -create /Users/bbbb-admin
sudo dscl . -create /Users/bbbb-admin UserShell /bin/bash
sudo dscl . -create /Users/bbbb-admin RealName "BBBB Admin"
sudo dscl . -create /Users/bbbb-admin UniqueID "1001"  # 确保这个ID是唯一的
sudo dscl . -create /Users/bbbb-admin PrimaryGroupID 20
sudo dscl . -create /Users/bbbb-admin NFSHomeDirectory /Users/bbbb-admin
sudo dscl . -passwd /Users/bbbb-admin Password1234

请将 "Password1234" 替换为你选择的安全密码。

总结

确保 bbbb-admin 是一个有效的用户,并且确实是 admin 组的成员,之后再尝试删除。按照上述步骤,你应该能够诊断问题并有效地管理 macOS 的组成员资格。如果问题持续存在,可以考虑查看系统日志以获取更多的诊断信息。




如果 bbbb-admin 是第一个用户,,那么 会报 eDSAttributeNotFound DS Error: -14134 错误吗

如果 bbbb-admin 是系统上创建的第一个用户,尤其是在 macOS 系统上,这个用户通常会拥有管理员权限,并且会被自动加入 admin 组。以下是一些相关的细节:

关于第一个用户的特性

  1. 第一个用户的特殊属性:在 macOS 中,第一个用户通常是系统的创建者,在创建过程中,该用户会被设置为管理员并自动加入 admin 组。不论是用图形用户界面创建还是通过命令行,第一位用户的 UniqueID 会是在前面的一组大数字(通常为 501,取决于具体情况)。

  2. 用户不能删除自己:如果你尝试删除自己(或第一个用户),系统会阻止这样的操作。在这种情况下,尝试删除 bbbb-admin 可能导致报错,如 eDSAttributeNotFound DS Error: -14134

  3. 如果用户命名不对:如果当前尝试删除的用户名称与实际存在的用户名称不匹配(即命名错误,或大小写不正确),也会导致这样的问题。

造成错误的可能原因

  • 用户确实不存在:确认你没有错过拼写或大小写的错误,确保你输入的是正确的用户名称。

  • 没有足够的权限:虽然你使用了 sudo,但如果你操作的用户尚未完全登录或权限不足,也可能导致某些命令无效。

  • 删除尝试:如前所述,macOS 不允许删除或修改系统的第一个用户,这可能是该错误的主要原因之一。

验证适用性

为了确定 bbbb-admin 作为第一个用户是否存在于 admin 组中,可以使用以下步骤:

  1. 列出当前的组成员

    bash
    sudo dscl . -read /Groups/admin GroupMembership
    

    查看是否包含 bbbb-admin

  2. 确认用户存在

    使用下面的命令查看用户信息及其 ID:

    bash
    sudo dscl . -read /Users/bbbb-admin
    

    如果输出中没有信息,说明 bbbb-admin 用户并不存在。

总结

如果 bbbb-admin 是第一个用户,尝试删除自己会导致错误,也可能是其他问题(如名称不匹配)导致 eDSAttributeNotFound DS Error: -14134 错误。确认该用户确实存在并且命令格式正确,另外,系统不允许删除第一用户的特权。如果你有其他的需求或者想要更改用户的组成员资格,也许可以考虑创建一个新的用户并进行相应的权限管理。




sudo dscl . -append /Groups/admin GroupMembership luxshare-ict sudo dscl . -delete /Groups/admin GroupMembership luxshare-ict dscacheutil -flushcache id -Gn luxshare-ict  仍然会看到 admin


您执行的操作看起来是正确的,但是 luxshare-ict 仍然显示为 admin 组的成员,这可能是因为缓存或其他系统设置的原因。这里有几个步骤可以帮助您解决这个问题:

  1. 重新启动系统: 有时候,重启系统可以清除所有缓存并使更改生效。

    sh
    深色版本
    sudo shutdown -r now
  2. 检查 Directory Services 缓存: 使用 dscacheutil 检查和刷新缓存:

    sh
    深色版本
    dscacheutil -q group -a name admin
    dscacheutil -flushcache
  3. 使用 pwpolicydseditgroup: 有时候 dscl 可能不够强大,可以尝试使用 dseditgroup

    sh
    深色版本
    sudo dseditgroup -o edit -d luxshare-ict -t user admin
  4. 检查其他配置文件: 有时候,用户组的成员关系可能被记录在其他配置文件中,例如 /etc/group/etc/sudoers。检查这些文件以确保没有其他地方定义了 luxshare-ictadmin 组的成员:

    sh
    深色版本
    cat /etc/group | grep admin
    cat /etc/sudoers | grep luxshare-ict
  5. 验证用户组成员关系: 再次验证用户组成员关系,确保 luxshare-ict 不再是 admin 组的成员:

    sh
    深色版本
    id -Gn luxshare-ict
  6. 检查 Open Directory 设置: 如果您使用的是 macOS 并且启用了 Open Directory,可能需要在 Open Directory 中进行相应的更改:

    sh
    深色版本
    sudo odutil flush cache
  7. 使用 security 工具: 有时候 security 工具也可以帮助解决问题:

    sh
    深色版本
    sudo security flushgroupcache

如果以上步骤仍然不能解决问题,建议检查系统日志以获取更多信息:

sh
深色版本
sudo tail -f /var/log/system.log

通过这些步骤,您应该能够找到并解决 luxshare-ict 仍然显示为 admin 组成员的问题。如果问题依然存在,建议联系系统管理员或技术支持以获得进一步的帮助。





普通分类: