Пожалуйста, объясните, что означает exec, trap, mknod, tee do [closed]

En FreeBSD, los nombres de los dispositivos los da el controlador, que maneja el dispositivo.

Entonces, cuando tiene una NIC RealTek, está controlada por el controlador rey para separar varias NIC que están controladas por el controlador re, se numeran comenzando con 0. Consulteman 4 re.

wlanes un controlador diferente para las tarjetas Wi -Fi genéricas. Entonces, cuando desee escribir reglas para su Wi -Fi, debe usar wlan0, ya que este es su único dispositivo Wi -Fi. Véaseman 4 wlan.

El hecho de que usar re0no produzca un error es extraño, pero podría ser que pfpueda funcionar con dispositivos plug and play como USB -NIC.

-7
19.12.2016, 16:26
1 ответ

Сценарий, вероятно, является примером, и вы должны изменить echo goodbye , чтобы сделать что-то еще.

Предположим, что сценарий называется demo . Когда вы запускаете его, как вы видели, он сначала выводит «привет». Затем он видит, идет ли вывод на терминал или нет, с намерением решить, используете ли вы

demo

или

demo | some other program

. Если это первый, то он просто отправляет вывод остальной части файла в файл. называется журнал . В последнем случае if создает именованный канал и запускает процесс tee для копирования всего, что записано в именованный канал, в выходные данные сценария demo (так какая-то другая прога получит) и в файл с именем log . Затем он организует отправку вывода остальной части файла в этот именованный канал. Он также устанавливает, что когда демо завершается, он удаляет именованный канал.

Строка exec 1> & - не нужна.

Конечным результатом всего этого является то, что слово «до свидания» записывается в файл «журнал». Если вы запустили демо | cat вы увидите на экране как «привет», так и «до свидания».

Как отмечает @derobert в комментариях, именованный канал имеет предсказуемое имя. В зависимости от настройки umask это может позволить кому-то испортить вывод демо , либо прочитав его (так что tee не увидит его), либо добавив дополнительные материал для тройник для копирования. Это дополнение к ряду стандартных атак, которые можно использовать против известных или предсказуемых имен. Программные или жесткие ссылки можно настроить заранее, чтобы другие файлы открывались или усекались. В моей системе Linux mknod завершится ошибкой, если файл уже существует, но поскольку сценарий игнорирует эту ошибку, будет выполнено exec 1> $ npipe .

5
28.01.2020, 05:21

Теги

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