sudo vs su(作为非root用户)


10

我的计算机有user1和user2,都是管理员。

当我以user1身份登录时,我正在尝试:

  • “ su-user2”->提示我输入user2密码,然后我可以键入命令
  • “ sudo --user = user2 [命令]”->提示我输入密码。如果输入user2的密码,则会收到“抱歉,请重试”。错误消息,好像密码不正确。如果我输入user1的密码,它将正确运行。

sudo命令是否不要求我在“ --user”参数中定义的用户密码?


2
Sudo(超级用户这样做)正在要求用户调用sudo命令的密码。Su(切换用户)要求输入切换用户的密码。
肯尼迪先生

Answers:


21

这是预期的行为。

  • su的目的是切换用户。它称为替代用户身份工具。su使用其他用户的密码,因为您要切换到该用户。

    su实用程序通过PAM请求适当的用户凭据,然后切换到该用户ID(默认用户是超级用户)。然后执行一个shell。

    资料来源:手册页

  • sudo的目的是以另一个用户身份执行命令。sudo 的-uor --user选项指定该用户。您无需以该用户身份登录,只需运行命令即可。sudo将使用您的密码来验证您的身份以执行此任务。


因此,如果user1不在sudoers文件中,我将无法进行sudo,只是“ su”?
巴勃罗(Pablo)

1
@Pablo没错
grg

@Pablo“切换用户”与“超级用户”。一个要求您以另一位用户身份进行身份验证;另一个要求您以超级用户身份进行身份验证。
蜘蛛鲍里斯(Boris the Spider)
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.