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 для пользователя.