Yocto Jethro:如何将用户添加到sudoers列表中

时间:2017-07-04 16:54:51

标签: yocto bitbake openembedded sudoers user-administration

我添加了一个新用户,如下所示

inherit extrausers
EXTRA_USERS_PARAMS = "useradd -P p@ssW0rd user1;"

我正在尝试找到如何将用户添加到sudoers列表。是否有像 extrausers

这样的课程

更新-1:

在课程classes/extrausers.bbclass中,我看到支持usermod。以下是否有效?

inherit extrausers
EXTRA_USERS_PARAMS = "useradd -P p@ssW0rd user1;\
                      usermod -aG sudo user1"

更新-2:

我尝试添加IMAGE_INSTALL_append += " sudo "

inherit extrausers
EXTRA_USERS_PARAMS = "useradd -P foobar -G sudo user1;"

但这并没有帮助我实现将user1添加到sudoers列表的效果。我在sudo -v

时看到以下错误
Sorry, user user1 may not run sudo on <machine-name>.

更新-3:

我发现sudoers文件的sudo组注释如下: # %sudo ALL=(ALL) ALL 因此,将user1添加到群组sudo的原因无济于事

我没有将user1添加到群组sudo,而是使用/etc/sudoers.d/0001_user1

recipes-extended/sudo/sudo_1.8.14p3.bbappend下添加了一个插入式文件的方法
do_install_append () {
    echo "user1 ALL=(ALL) ALL" > ${D}${sysconfdir}/sudoers.d/001_first
}

现在我需要帮助,了解以下哪种方法在安全性方面更好?

  • sudo中取消注释/etc/sudoers行并将user1添加到/etc/sudoers
  • user1
  • 中添加/etc/sudoers.d/001_first

1 个答案:

答案 0 :(得分:0)

因此,有两种方法可以添加具有sudo功能的用户

  • 将用户添加到sudo组并在/ etc / sudoers中启用sudo组
  • ${D}${sysconfdir}/sudoers.d/下创建一个文件,并为那里的用户添加sudo规则。

现在哪种方法适合您的发行版在/etc/sudoers vs /etc/sudoers.d/ file for enabling sudo for a user

中得到了很好的解答