yocto - Как установить разрешение на команду busybox

В настоящее время я работаю над проектом yocto и ищу решение для установки разрешения на команду busybox. У меня есть мета-пример уровня 1, в котором есть ядро рецептов, которое содержит busybox_%. Bbappend и файлы / defconfig_patch.cfg, которые устанавливают конфигурацию.

Я ищу способ установить разрешение конкретной команды для пользователя ..

Пример,

Предположим, у меня есть два пользователя: user1 и user2. Я хочу разрешить пользователю user1 использовать команду cat, а не user2

Как мне это сделать ?

заранее спасибо

1 ответ

В Linux есть getfacl и setfacl, которые вы можете использовать для установки разрешений пользователей на данный двоичный файл. Подробнее здесь.

В Yocto вы можете использовать это, например:

      do_install_append(){
    setfacl -m u:user_name:r-- $D${bindir}/cat
}

Сейчас есть две проблемы:

Вам нужно увидеть, упаковывает ли busybox все двоичные файлы, разделенные на ${D}, или упаковывает ли один двоичный "busybox", если это один двоичный файл, вы можете попытаться добавить пакет рецепта образа.

Идея состоит в том, чтобы найти рецепт упаковки вашего целевого двоичного файла.

Вторая проблема заключается в том, что Yocto не сохраняет эти разрешения при создании окончательного rootfs, проблема упоминается здесь.

Итак, вы можете попробовать предлагаемое решение, которое добавляет разрешения после этапа пакета с помощью pkg_postinst_${PN}_append() , или я предлагаю вам создать службу, которая запускается при загрузке и запускает команды setfacl для желаемых двоичных файлов.

Это то, что я нашел, надеюсь, это поможет вам найти правильное решение.

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