Как очистить и удалить все сетевые возможности Linux Mint?

Здесь -документ типа <<-SCRIPTдействует как строка в двойных -кавычках, поскольку в ней обрабатываются расширения. Чтобы этого не произошло, укажите разделитель:

в кавычках.
$ cat <<EOF
1+1 = $((1+1))
EOF

1+1 = 2

против

$ cat <<'EOF'
1+1 = $((1+1))
EOF

1+1 = $((1+1))

Итак, здесь:

cat <<-SCRIPT >test-$$
       ...
        osType=$(grep -Po '^NAME="\K[^"]*' /etc/os-release)

Команда grepнаходится внутри подстановки команд, которая обрабатывается, поскольку SCRIPTне заключена в кавычки, поэтому она выполняется, когда используется здесь -документ.

Здесь, с другой стороны:

cat <<-SCRIPT >test-$$
        #!/bin/bash
        rpm -q somepackage > test-$$
        rm test-$$-lock
        exit
    SCRIPT

подстановки команд нет, поэтому команды не выполняются. Часть rpm -q somepackage— это просто текст. Однако с разделителем без кавычек $$внутри документа -будет немедленно расширен до того же значения, которое используется в имени выходного файла. То есть, если PID текущей оболочки равен 1234, команда catсоздаст test-1234, содержащую строку rpm -q somepackage > test-1234.

С разделителем в кавычках $$будет оставлен как -, а результатом будет файл с именем test-1234, содержащий rpm -q somepackage > test-$$. Если вы сейчас запустите test-1234как скрипт, тогда $$будет расширен, и будет использоваться PID этой оболочки. Вероятно, оно будет отличаться от значения, использованного при создании файла.

В любом случае $$в rpm.. > test-$$и rm test-$$-lockбудут расширены до одного и того же значения.

2
12.11.2021, 10:26
2 ответа

Драйверы Wi-Fi и Bluetooth можно внести в черный список, поскольку они загружаются как модули. Вам нужно будет изменить для ваших конкретных драйверов, но вы можете использовать что-то похожее на

#> cat >> /etc/modprobe.d/blacklist.conf                                                                                                                                                                                               
blacklist rtw88_8821ce
install rtw88_8821ce /bin/false
^D

Чтобы отключить интерфейсы Ethernet, вам нужно добавить правило в udev. Для eth0 добавьте это правило вetc/udev/rules.d/90-disable-eth0.rules

ACTION=="add", SUBSYSTEM=="net", ENV{ID_NET_NAME_ONBOARD}=="eth0", RUN+="/bin/sh -c 'echo 1 > /sys$DEVPATH/device/remove'"

Внесите необходимые изменения для конкретных интерфейсов.

0
12.11.2021, 17:32

Скомпилируйте собственное ядро, отключите все функции сети/wifi/ethernet/bluetooth для этого ядра.

1
12.11.2021, 10:43

Теги

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