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

这里的技术是共享的

You are here

本文介绍MacOSX下如何通过SUM(Single User Mode),把普通用户提升为系统管理员。 dscl 有大用

本文介绍MacOSX下如何通过SUM(Single User Mode),把普通用户提升为系统管理员。

注: 本文方法在MacOSX 10.13.4的系统下测试通过,应该10.7~10.13.4的系统都适用。

方法

1. 进入SUM

启动时,按住 Cmd+S 键,进入Single User Mode。

2. 可写挂载/

输入命令

mount -uw /

3. 启动opendirectoryd

输入命令

 launchctl load /System/Library/LaunchDaemons/com.apple.opendirectoryd.plist

4. 设置管理员分组

输入命令

dseditgroup -o edit -a 待提权用户名 -t user admin

或者添加到wheel组

dseditgroup -o edit -a 待提权用户名 -t user wheel

如果要重新降低成普通成员,可以用如下命令,把用户从admin或wheel组中去掉,从而去掉管理员。

dseditgroup -o edit -d 用户名 -t user admin

把用户从wheel组中去掉.

注: 没试过当前登录用户用这条命令去掉自己的管理员,不知道行不行。你可以用其他管理员或root来把某个用户的管理员权限去除(通过界面有时取消不了其他管理员的管理权限)。

Trick

Mac默认限制了使用root用户登录界面系统,可以使用如下命令开启root用户登录(需要管理员权限)。

输入命令

dsenableroot

使用root用户登录后,就可以干很多事情啦。你可以在提权后或被别人降低管理员权限前,把root登录开启,方便日后处理权限相关问题。

注: 使用 dsenableroot -d 命令可以取消root管理员登录界面。

参考资料


来自  https://codeleading.com/article/6690538021/



mac下通过dscl命令对用户/用户组进行增删改查操作

摘要:最近需要对系统的用户和用户组进行操作,才发现系统下的用户操作跟常见的系统有很大的不同。网上很多的文章,要么有说怎么查,没说怎么删要么有介绍用户操作,没有介绍用户组的操作。


最近需要对系统的用户和用户组进行操作,才发现mac系统下的用户操作跟常见的Linux系统有很大的不同。
反正useraddgroupadd是用不了了。送你一句command not found
于是,查询整理了一些资料,做了记录。
相对来讲,还是比较全的,也很适合小白。网上很多的文章,要么有说怎么查,没说怎么删;要么有介绍用户操作,没有介绍用户组的操作。

查看所有的组:

</>复制代码

  1. dscl

  2. cd /Local/Default/Groups

  3. ls

  4. // 或者

  5. dscl . -list /Groups

  6. // 如需查看各组ID

  7. dscl . -list /Groups PrimaryGroupID

  8. dscl . -readall /groups

  9. // 查看指定的组

  10. dscl . -read /Groups/admin

查看所有的用户:

</>复制代码

  1. dscl

  2. cd /Local/Default/Users

  3. ls

  4. // 或者

  5. dscl . -list /Users

  6. // 如需查看各用户ID

  7. dscl . -list /Users UniqueID

查看指定用户wenlie的所属组ID:

</>复制代码

  1. dscl . -read /Users/wenlie

  2. dscl . -read /Users/wenlie PrimaryGroupID

  3. dscl . -read /Users/wenlie PrimaryGroupID RealName

查看指定组admin中的用户:

</>复制代码

  1. dscl . -read /Groups/admin

  2. dscl . -read /Groups/admin GroupMembership

创建组:

</>复制代码

  1. dscl . create /Groups/test_group

  2. // 此处未指定gid, 那么通过dscl . -list /Groups PrimaryGroupID命令会查询不到,而应该使用dscl . -list /Groups

  3. dscl . create /Groups/test_group gid 296

  4. sudo dscl . -create /groups/test_group

  5. sudo dscl . -append /groups/test_group gid 4200

  6. sudo dscl . -append /groups/test_group passwd "nicepwd"

  7. // 以下命令,会自动创建groupid

  8. sudo dseditgroup -o create test_group

删除组:

</>复制代码

  1. dscl . -delete /Groups/test_group

创建指定用户test_user:

</>复制代码

  1. dscl . -create /Users/test_user

  2. dscl . -create /Users/test_user UserShell /bin/bash

  3. dscl . -create /Users/test_user RealName "Lucius Q. User"

  4. // 注意 UniqueID必须唯一

  5. dscl . -create /Users/test_user UniqueID "1010"

  6. dscl . -create /Users/test_user PrimaryGroupID 80

  7. dscl . -create /Users/test_user NFSHomeDirectory /Users/test_user

  8. // 修改密码

  9. dscl . -passwd /Users/test_user "goodpwd"

  10. // 加入指定用户组`admin`

  11. dscl . -append /Groups/admin GroupMembership test_user

从组中删除用户:

</>复制代码

  1. dscl . -delete /Groups/test_group GroupMembership test_user

查看dscl命令的帮助:

</>复制代码

  1. dscl

  2. help

原文地址:http://www.4455q.com/tech/mac...


来自  https://www.ucloud.cn/yun/10421.html



普通分类: