Mac终端非管理员账号如何通过管理员凭据获取权限?
在Mac非管理员账号的Terminal中临时获取管理员权限的方法
当然可以实现!不用全天登录管理员账号,在非管理员账号的Terminal里,你有几种简单的方式临时获取管理员权限执行需要权限的操作,下面给你详细说明:
方法1:使用su切换到管理员账号
这是最直接的方式,步骤如下:
- 在Terminal中输入命令:
su - 你的管理员用户名,比如管理员账号叫admin,就输入su - admin - 回车后输入管理员账号的密码(输入时Terminal不会显示任何字符,这是Mac的安全机制,正常输入即可)
- 成功后,Terminal的提示符会变成管理员账号的名称,此时你执行的所有命令都拥有管理员权限
- 完成操作后,输入
exit并回车,就能回到原来的非管理员账号环境
方法2:直接以管理员身份执行单条命令
如果你不想切换整个shell环境,只想执行某一条需要权限的命令,可以用sudo -u指定管理员账号来执行:
- 格式:
sudo -u 你的管理员用户名 需要执行的命令 - 举个例子:要创建一个系统目录下的文件夹,命令就是
sudo -u admin mkdir /usr/local/my_work_dir - 回车后输入管理员密码,这条命令就会以管理员权限执行,执行完后你依然处于非管理员账号的环境中
注意事项
- 输入密码时Terminal不会显示任何反馈(没有星号或圆点),这是正常的,放心输入后回车即可
- 管理员权限拥有很高的系统操作权限,执行命令前一定要确认命令的安全性,避免误删系统文件或执行高风险操作
- 如果需要频繁执行某几类特定的权限命令,可以让管理员编辑
/etc/sudoers文件,给你的非管理员账号配置特定命令的sudo权限(甚至免密),这样后续执行这些命令会更便捷
内容的提问来源于stack exchange,提问作者N.H.




