我如何确定我是否是 sudo 用户

我如何确定我是否是 sudo 用户

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

例子:

$ sudo aplay -l
[sudo] password for deepak:

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

答案1

这只是您的常用密码。

运行命令的密码sudo你的密码,而不是单独的密码。它是与以下密码相同的密码:

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

当终端要求你输入密码时,键入时不显示任何内容是正常现象。要输入该命令的密码sudo,请输入密码并按Enter

  • 如果您正确输入了密码,并且管理员——在 Ubuntu 上,指的是被允许通过以下方式以 root 用户身份执行操作的用户sudo波尔基特--然后命令将运行。(非管理员sudo也可以被允许运行某些命令,但默认情况下不设置。)

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

    username is not in the sudoers file.  This incident will be reported.

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

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

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

groups

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

username adm cdrom sudo dip plugdev lpadmin sambashare

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

username adm cdrom dip plugdev lpadmin sambashare

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

想要了解更多详细信息,可以询问sudo你的能力。

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

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

    Sorry, user username may not run sudo on host.

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

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

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

进一步阅读

答案2

getent group sudo | grep your-user-name

如果您在上面的命令列表中找到您的用户名,那么您就是 sudo。

使用无密码的 sudo这是完全不建议的,而且会使您面临损害系统的风险。

打开终端窗口并输入:

sudo visudo

在文件底部输入以下内容:

username ALL=(ALL) NOPASSWD: ALL

相关内容