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

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

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

person sob    schedule 04.07.2017    source источник
comment
вы можете попробовать добавить пользователя в группу wheel по умолчанию, которая уже должна быть в sudoers. например: useradd -P somepass -G колесо user1;   -  person Tuncay Göncüoğlu    schedule 04.07.2017
comment
Люди упоминают, что это работает там stackoverflow.com/questions/44043874/ .   -  person David Bensoussan    schedule 05.07.2017
comment
@TuncayGöncüoğlu, когда я пытаюсь добавить в колесо. Я вижу, что колеса не существует. useradd: group 'wheel' does not exist   -  person sob    schedule 05.07.2017


Ответы (1)


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

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

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

person sob    schedule 05.07.2017