“管理员”用户自动具有sudo权限


17

我使用将一个名为“ admin”的用户添加到了Ubuntu 14.04LTS服务器adduser

/etc/sudoers在添加需要sudo权限的新用户时,我习惯于将用户添加到文件中,但是这次我没有。根据外壳中的输出,在创建它之前,似乎没有“ admin”用户存在。为什么这样工作?


与其手动编辑sudoers文件,不如将它们添加到admin组中。
卡兹·沃尔夫

Answers:


30

默认情况下,adduser将每个新用户添加到与该用户同名的组中(如果该组尚不存在,则创建该组)。因此,如果您创建一个名为的用户admin,它将被添加到组中admin

/etc/sudoers 包含行

%admin ALL=(ALL) ALL

这意味着该组的所有成员admin均被允许使用sudo-您的admin用户也是如此。


8
在我看来,这属于“错误”或“安全问题”的定义。如果您将字母用作用户名,为什么还要有一个神奇的字母序列来赋予您超能力?
Federico Poloni 2015年

1
@FedericoPoloni同意您的观点,尽管尝试利用此漏洞的人必须致电adduser,这意味着他已经拥有管理员权限...不过,值得添加一个错误报告,我认为
nico 2015年

7
@FedericoPoloni错误,一点也不。系统会将用户添加到具有相同名称的自己的组中。Joe进入名为的组Joeadmin碰巧进入一个名为的小组admin。但是,admin是一个系统组。默认情况下是允许使用sudo的组。另外,您可以指定组,这样admin用户就不会进入该admin组。最后,有一个名为的用户是一个安全问题admin。我依靠我的用户名对我进行了SSH暴力攻击admin
卡兹·沃尔夫

3
@Whaaaaaat,由于某种原因,看到帖子末尾的用户名使我质疑您说的所有内容:)
trpt4him 2015年

5
我认为,考虑到一个用户的策略-一个组,如果组名存在(与用户名存在时一样),则预期的行为(至少对我而言)会出现错误,以纾困。我投票给该错误,或​​者至少是意外行为。
Rmano 2015年
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.