OpenWrt: предотвратите это, IP-адрес мог быть достижимым в сети, исключая несколько хостов

У Вас есть много вариантов, и каждый из них может быть удобным в различных ситуациях.

  1. Двойная кавычка целая строка как один, и Escape литеральные двойные кавычки внутри (легкий читать, если у Вас есть только одно такое возникновение, но Вы могли бы закончить с частоколом):

    echo "cat file2.txt  | sed 's/\"//g' > file3.txt ## Step 2 " >> ~/globalLog.txt
    
  2. Используйте различные кавычки для различных частей строки:

    echo "cat file2.txt  | sed 's/"'"'"//g' > file3.txt ## Step 2 " >> ~/globalLog.txt
    
  3. Использовать echoспособность обработать несколько аргументов. Это применимо, если только отдельное слово содержит незаконный символ, так как результат будет обычно иметь пространство между каждым аргументом, таким образом, это не будет работать на Вашу строку. Альтернативный пример:

    echo 'foo"' "'bar"
    

    печать

    foo" 'bar
    
  4. Используйте несколько echo -n операторы (или printf %s) сопровождаемый echo без -n:

    echo -n "cat file2.txt  | sed '" >> ~/globalLog.txt
    echo -n 's/"' >> ~/globalLog.txt
    echo "//g' > file3.txt ## Step 2 " >> ~/globalLog.txt
    
  5. Не используйте кавычки вообще, но выходите из всех специальных символов:

    echo cat\ file2.txt\ \ \|\ sed\ \'s/\"//g\'\ \>\ file3.txt\ \#\#\ Step\ 2\  >> ~/globalLog.txt
    

Обратите внимание, что не возможно выйти из одинарных кавычек в единственной заключенной в кавычки строке.

И если в сомнении, Использование Больше Quotes™.

В Вашем случае, однако, похоже на вход команды прежде, чем выполнить его. Уже существует очень хорошее решение для работы с командами как текст.

1
04.10.2013, 22:45
1 ответ

Извините, Вам, вероятно, были бы нужны дополнительные аппаратные средства для этого.

Необходимо поместить сетевой принтер в независимую подсеть, соединенную через брандмауэр. Если бы у Вас была поддержка VLAN на внутреннем коммутаторе, то Вы могли бы поместить порт сетевого принтера на отдельный VLAN. OpenWrt поддерживает VLAN в целом, но к сожалению Ваши аппаратные средства не работают правильно в данный момент.

http://wiki.openwrt.org/toh/linksys/wrt160nl#switch.ports.for.vlans

Но если Ваш принтер также поддерживает USB, Вы могли бы использовать это с USB-портом маршрутизаторов. Рекомендуемое решение является p910nd. Затем Вы могли управлять доступом с помощью правил брандмауэра.

0
28.01.2020, 02:03

Теги

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