如何确定我是否是 sudo 用户

Dee*_*nan 4 sudo password user-management

在终端中输入 sudo 命令时,我经常被要求输入 sudo 密码,但我不记得我是否是 sudo 用户。同样,我不知道任何超级用户做密码。我对这个密码问题感到困惑。

例子:

$ sudo aplay -l
[sudo] password for deepak:
Run Code Online (Sandbox Code Playgroud)

我不知道在之前的密码询问命令中该怎么做。与上面的示例类似,很多次我都被要求输入 sudo 密码。我该如何解决?

Eli*_*gan 7

这只是您的常规密码。

运行命令的密码sudo您的密码,而不是单独的密码。这是相同的密码:

  • 您在安装 Ubuntu 或创建帐户时提出并输入
  • 您在登录屏幕上输入(除非您有自动登录)
  • 你输入解锁屏幕

当您在终端中被要求输入密码时,在您输入时没有显示任何内容是正常的。要输入sudo命令的密码,请输入密码并按Enter

  • 如果正确输入你的密码,你一个系统管理员-这在Ubuntu意味着谁被允许执行的操作通过根用户的用户sudopolkit --then该命令将运行。(也可以允许非管理员运行某些命令sudo,但默认情况下未设置。)

  • 如果您正确输入密码,但您不是管理员,并且不允许以 root 身份运行命令sudo,您将收到错误消息:

    username is not in the sudoers file.  This incident will be reported.
    Run Code Online (Sandbox Code Playgroud)

    (“报告”只是意味着写入日志文件。尝试sudo在您自己的计算机上运行您的用户帐户未设置为允许运行的命令是无害的,以及可怕的“此事件将被报告”的事情可以忽略。)

要查看您是否设置sudo为 root,请检查您是否在sudo组中。

确定您的用户帐户是否是管理员并允许以 root 身份运行命令的另一种方法sudo是检查它是否是sudo组的成员。要列出您所在的所有组,请运行:

groups
Run Code Online (Sandbox Code Playgroud)

用户通常在他们自己的组(与他们的用户名相同)和其他几个组中。如果您是管理员,输出groups将类似于:

username adm cdrom sudo dip plugdev lpadmin sambashare
Run Code Online (Sandbox Code Playgroud)

如果您不是管理员,它将看起来像这样(即,它不会包含sudo):

username adm cdrom dip plugdev lpadmin sambashare
Run Code Online (Sandbox Code Playgroud)

如果您只有一个用户帐户并且它已从sudo组中删除,请参阅如何将自己重新添加为 sudo 用户?不过,这并不是很常见的情况。

欲了解更多详细信息,您可以询问sudo您的能力。

确定您是否是管理员的第三种方法是运行sudo -l. 您必须输入密码。然后:

  • 未设置为运行任何命令的非管理员sudo将看到该消息

    Sorry, user username may not run sudo on host.
    Run Code Online (Sandbox Code Playgroud)

    哪里username是您的用户名,host是您的 Ubuntu 系统的主机名(计算机名称)。

  • 管理员(即sudo组成员)将看到一些以行结尾的信息:

    User username may run the following commands on host:
    (ALL : ALL) ALL
    Run Code Online (Sandbox Code Playgroud)
  • 设置为以 root 身份运行某些命令但并非所有命令的用户将看到记录其能力的输出。(有关man 5 sudoers技术细节,请参阅。)

进一步阅读


归档时间:

查看次数:

12166 次

最近记录:

10 年,4 月 前