Yocto Jethro: как добавить пользователя в список sudoers

Я добавил нового пользователя следующим образом

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

Я пытаюсь найти, как добавить пользователей в список sudoers. Есть ли класс, как экстра-пользователей

Update-1:

В классе classes/extrausers.bbclass я вижу usermod поддерживается. Будет ли следующая работа?

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

Update-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>.

Update-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 ответ

Решение

Таким образом, существует два подхода для добавления пользователя с возможностью sudo

  • Добавьте пользователя в группу sudo и включите группу sudo в / etc / sudoers
  • Создать файл под ${D}${sysconfdir}/sudoers.d/ и добавьте туда правило sudo для пользователя.

Теперь о том, какой подход подходит для вашего дистрибутива, хорошо сказано в файле /etc/sudoers vs /etc/sudoers.d/ для включения sudo для пользователя.

Другие вопросы по тегам