使用sudo使自己成为管理员,我必须在终端中输入什么?


Answers:


14

如果实际用户<用户名>具有标准帐户,则必须输入

sudo dscl . -append /Groups/admin GroupMembership <user_name>

<user_name>设置为管理员。

但是,只有少数用户是sudoer(即允许运行的帐户susudo成功具有root特权的帐户)。OS X中的标准sudoers文件(/ etc / sudoers)如下所示:

...
# User privilege specification
root    ALL=(ALL) ALL
%admin  ALL=(ALL) ALL

# Uncomment to allow people in group wheel to run all commands
# %wheel    ALL=(ALL) ALL
...

因此,默认情况下仅允许root和admin组成员运行sudo。由<user_name>运行的上述命令将因此失败,因为 <user_name>不在列表中。

要对<user_name>启用sudoing,您必须将<user_name>添加到列表中(在#用户权限规范下面),或者取消注释必须由sudoers重新运行的%wheel线(这是Tetsujin提到的Catch22)。sudo visudo


1
很好地针对了我的“妙不可言”。一如既往的+1。
Tetsujin 2015年

1
我不记得:不是最新的OSX版本。包括某种缺乏完全标准Unix su权限的“非真正的sudo”?
卡尔·威索夫特

3
@CarlWitthoft是的,您可能正在考虑SIP
Deditos

12

有点Catch22…

您需要已经管理员才能出现在sudoers列表中[很少有手动更改的例外情况]

本质上,您无法提升自己。
这就是sudo和成为管理员的全部要旨,以便能够为非管理员分配有限的功能。


-2

如果您有权访问管理员帐户,则可以通过以下方式临时成为该帐户:

su - <admin_username>

在这里,您可以通过进行管理操作sudo

如果您无权访问管理员帐户,则没有“批准”的获得管理员访问权限的方法(因为这是拥有单独的管理员角色的全部要点),但是有很多不合法的方法来获得它,例如特权升级漏洞利用或引导到单用户模式。(这些将作为练习留给读者。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.