从非管理员帐户运行sudo


19

好的,我正准备购买一台新机器,以便研究如何更好地组织工作。现在,当前我使用管理员帐户作为我的主要登录帐户,但是我知道这可能不是最佳做法,因此我想在计算机上切换到单独的管理员帐户和非管理员帐户。

但是,我是一名开发人员,并且在终端上做了很多工作,因此有时我确实需要通过来运行命令sudo,但是,这当然不能像我通常运行它的方式那样工作(sudo foo,输入当前帐户的密码)。我想知道的是,知道我机器上的管理员帐户的详细信息之后,是否可以通过sudo(或类似方式)从非管理员帐户运行命令,而不必每次都登录不同的帐户?例如,是否可以触发输入管理员密码对话框?


我不确定这是否适用于osx,但是如果在Linux系统(例如ubuntu)上看到允许用户通过“ sudo”运行“ su”的解决方案,则无法确定。通过这种方式,您只需键入'sudo su',输入用户密码,然后您将获得root shell。我喜欢这个解决方案,因为不需要单独的管理员帐户和密码
weberik

我认为值得一提的是,在类似UNIX的系统上,如果您是管理员,则以sudoer帐户运行是完全可以的。相当于Windows-Xp-esque管理员的所有时间都将被登录到root。
Linuxios 2014年

Answers:


25

似乎您可以在终端中使用SU命令切换到另一个用户。切换到管理员用户后,您可以使用sudo命令以及管理员帐户的密码。

例如,当我使用一台最终用户的Mac,并且需要以提升的特权运行(例如,小丑)而不注销并登录到管理帐户(ladmin)时,我将使用类似的内容(粗体):

Mr-Rabbits-Mac:〜notadminuser $ su ladmin

这将提示您输入ladmin帐户的密码,一旦输入,您将看到一个bash命令提示符。从这里我可以运行所需的任何sudo命令,根据需要输入ladmin的密码...

bash-3.2 $ sudo chown user2 / some /文件夹

这将使用现在登录的ladmin用户运行chown命令,并提示输入ladmin帐户的密码。完成后,您可以键入exit以返回您已登录的用户提示。

类似过程的屏幕截图,仅使用sudo运行ls命令(仅作为示例)。 在此处输入图片说明


1
啊哈!这似乎正是我所需要的,谢谢!无需添加到sudoers文件中,我感觉有一种方法可以做到,只是我一生无法想到它,感谢出色的回答!
Haravikk 2014年

4

在Terminal type中login,输入一个空格,your admin name然后按回车键。然后输入您的管理员密码,按回车键,您将以管理员身份登录,该管理员可以发出sudo命令而无需其他配置或要更改的文件。


4

将您现有的用户名添加到sudoers文件中,您需要使用visudo命令并添加如下代码:

用户权限规范

root ALL =(全部)全部

<randomuser> 全部=(全部)全部

%admin ALL =(全部)全部

或任何您想给自己的烫发。那么您就可以sudo whatever全力以赴。这是/etc/sudoers顺便说一下。


4
-1切勿自行编辑/etc/sudoers。使用visudo
Max Ried'1

-4

转到目录实用程序,将其解锁,然后从“编辑”菜单选项中选择“启用根用户”。输入根帐户的唯一密码,然后重新输入以进行验证。现在,通过任何帐户完成此操作后,您可以打开Terminal.app,然后运行“登录”并在登录名中输入root,然后输入刚刚设置的root密码。你应该很好走!;)


9
无需为此启用root用户。
爱德华2014年

因此,我可以进入任何已启动的Mac,打开Terminal.app并输入login命令。输入root,然后输入什么密码?请赐教:/
Andrew U.14年

3
我的意思是您不需要使根用户能够执行OP的要求。实际上,如果您使用login,则最好登录到管理员帐户而不是root用户。
爱德华2014年
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.