linux 19.1 mint Wi-Fi не работает thinkpad e580

  1. Можно ли создать пользователя для этих соответствующих UID / GID на хосте, чтобы иметь более значимый вывод для ls и друзей?

Да, это нормально. Однако вы должны убедиться, что такой пользователь не имеет никаких прав на что-либо в хост-системе:

  • Запрещенный доступ или пароль,
  • Нет используемой оболочки входа в систему,
  • Нет доступного для записи домашнего каталога.

Также не создавайте дубликатов в ваших именах пользователей.

Вот пример сценария, использующего гостевые файлы / etc / passwd и / etc / group для создания соответствующих пользователей в хост-системе.Все имена начинаются с имени контейнера, и все идентификаторы увеличиваются с использованием данного значения для соответствия UID контейнера:

#! /bin/sh

# Path to guest's `/etc' directory.
guest_etc=/var/lib/lxc/mycontainer/rootfs/etc
# Guest's name, used as login prefix and inside GECOS field.
guest_name=mycontainer
# Increment to be applied to UIDs and GIDs (= range start).
uid_incr=100000
gid_incr=$uid_incr

guest_passwd=${guest_etc}/passwd
guest_group=${guest_etc}/group

exec <$guest_group
while IFS=":" read name pass gid null; do
    gid_new=$( expr $gid + $gid_incr )
    if ! getent group $gid_new >/dev/null; then
        addgroup --system --gid $gid_new "${guest_name}_${name}"
    fi  
done

exec <$guest_passwd
while IFS=":" read login pass uid gid gecos null; do
    uid_new=$( expr $uid + $uid_incr )
    gid_new=$( expr $gid + $gid_incr )
    if ! getent passwd $uid_new >/dev/null; then
        adduser --system --home /nonexistent --no-create-home \
            --shell /bin/nologin --uid $uid_new --gid $gid_new \
            --gecos "\"$guest_name container user (${gecos})\"" \
            "${guest_name}_${login}"
    fi  
done

Предупреждения относительно недоступного домашнего каталога являются нормальными и ожидаемыми: это фактическая цель / nonexistent не существует.

  1. есть ли способ сделать эти файлы / папки доступными для пользователя хоста , который "владеет" пользователями, то есть john в нашем случае? И если да, то является ли единственный разумный метод для создания группы, совместно используемой этими действительными пользователями внутри подчиненного диапазона и пользователями "владельцем", и соответствующим образом установить разрешения ? Ну или ACL, очевидно.

Это действительно стоит отдельного вопроса, ИМО.

Поскольку контент контейнера принадлежит другим UID, чем UID владельца контейнера, то он недоступен для него. Я могу представить себе исключение из этого правила для субпользователей, но в настоящее время я не знаю ни одного из них (я создал связанный вопрос несколько раз назад, но ответа пока нет).

Файлы / etc / subuid и / etc / subgid в настоящее время используются только newuidmap (1), чтобы разрешить или запретить переключение с одного UID. / GID другому процессу. Это не дает владельцу диапазона никаких других прав.

Следовательно, решение такой проблемы должно разрабатываться в индивидуальном порядке. Однако будьте осторожны с идеей ACL: допустим, вы поместили некоторые ACL в файлы контейнера, чтобы UID вашего хоста 1000 мог их прочитать, это означает, что пользователь контейнера с UID контейнера 1000 также будет иметь такой же уровень привилегий ...

1
03.05.2019, 03:53
2 ответа

В качестве альтернативы вы можете подписать драйверы ключом MOK

Полная запись здесь

Таким образом, вы можете оставить включенной безопасную загрузку!

Написание основы всего этого, от загрузки репозитория до завершения, будет выглядеть так:

(Обратите внимание, что я подписал больше модулей, чем мне, вероятно, нужно.Я не уверен, какие из них управляют тем, что, кроме rtl8822be, было моим драйвером, поэтому я подписал их все без rtl впереди на всякий случай.)

#Generate a new MOK key
sudo update-secureboot-policy --new-key
#Enroll key into firmware
sudo update-secureboot-policy --enroll-key

Прочтите инструкции из ключа регистрации. Перезагрузите компьютер и следуйте им.

Следующая часть такая же, как и раньше:

sudo apt install build-essential git
git clone -b extended https://github.com/lwfinger/rtlwifi_new.git
cd rtlwifi_new
make

Самое интересное:

sudo kmodsign sha512  \
/var/lib/shim-signed/mok/MOK.priv \
/var/lib/shim-signed/mok/MOK.der  \
rtl_pci.ko

sudo kmodsign sha512  \
/var/lib/shim-signed/mok/MOK.priv \
/var/lib/shim-signed/mok/MOK.der  \
rtlwifi.ko

sudo kmodsign sha512  \
/var/lib/shim-signed/mok/MOK.priv \
/var/lib/shim-signed/mok/MOK.der  \
rtl8822be/rtl8822be.ko

После этого заканчиваем так же

sudo make install
sudo modprobe rtl8822be

Вуаля, Wi-Fi работает.

1
27.01.2020, 23:30

После новой установки Linux Mint мой Wi-Fi не работал из-за отсутствующего драйвера Realtek RTL8822BE.

Для установки мне пришлось выполнить следующие действия:

sudo apt install build-essential git
git clone -b extended https://github.com/lwfinger/rtlwifi_new.git
cd rtlwifi_new
make
sudo make install
sudo modprobe rtl8822be

Обратите внимание, что я клонирую расширенную ветку из-за моей версии ядра 4.15, как указал @Freddy.

После sudo modprobe rtl8822beя получил следующую ошибку:

modprobe: ERROR: could not insert 'rtl8822be': Required key not available

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

Наконец я запустил sudo mobprobe rtl882beи получил этот вывод на консоли:

modprobe: ERROR: could not insert 'rtl8822be': Exec format error

Потом я понял, что мой вайфай уже работает.

1
27.01.2020, 23:30

Теги

Похожие вопросы