3

我添加了一个新用户如下

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中,而是采用了在 using 下添加一个插入文件的/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
4

1 回答 1

1

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

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

现在哪种方法适合您的发行版在/etc/sudoers vs /etc/sudoers.d/ 文件中得到了很好的回答,以便为用户启用 sudo

于 2017-07-05T13:11:53.753 回答