OSX: MBP: Как система обнаруживает вставленную SD-карту?

@Artm показал технику, в которой вы дважды цитируете скрипт awk и избегаете различных символов. Вот 3 других техники

вырваться из единой цитаты, чтобы позволить оболочку расширить переменную

usrpid=$(awk '$1 == "'"$USR"'" {print $2}' file)

, передайте переменную оболочки в вариабельную переменную

usrpid=$(awk -v usr="$USR" '$1 == usr {print $2}' file)

, если переменная экспортируется, используйте AWK-ARTIOL ARRALY

usrpid=$(awk '$1 == ENVIRON["USR"] {print $2}' file)

, который последний Один должен быть предпочтительным.

В первом подходе, как для Artm's One, содержание переменных оболочки встроена внутри кода , так что становится уязвимостью впрыска команд , если содержание Переменная не контролируется плотно контролируемым (например, с USR = «BLAH» || Система («Перезагрузка») || «, что позвонит Reboot ).

Второй не вводит уязвимость команды впрыска, но если $ usr содержит символы обратной косоты, USR awk переменная не будет содержать то же самое, что и $ Usr Переменная оболочки как awk расширяется C-похожими на эвакуаторные последовательности.

Использование среда не имеет ни одного из этих вопросов.

-121--118033-

Все в ~ / .bash_profile будет выполняться, когда пользователь входит в систему, так что вы можете использовать это. Например, с этим кодом:

IP=`w | grep DarkGL | awk '{print $3}'`
if [ $IP = "192.168.10.10" ];
        then echo "Monkey"
fi

Альтернатива использует SSH принудительные команды, но вы не можете настроить это на основе IP. Это означало бы, что пользователь может запускать только определенные двоичные и даже не список файлов в списке. Мы реализовали это с GIT, поэтому пользователь может запустить только двоичный джок.

Если вы можете объяснить, почему вы захотите это сделать, мы можем помочь вещам.

1
30.04.2015, 01:30
1 ответ

С момента публикации я продолжил копать и нашел несколько ресурсов, связанных с этим вопросом, и хотя я бы отметил их здесь.

на OSX, если у вас установлен Xcode, есть утилиты, которые полезны в каталоге /Dev*/App*/Util*/... в частности, USBProber.app и IORegistryExplorer.app. В USBProper есть флажок "Зонд подвешен". после проверки и запуска зонда мое устройство выскочило в DiskUtility. Через них я смог найти много информации о базовой структуре всей системы.

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

GNU ddrescue - отличный инструмент. http://www.gnu.org/software/ddrescue/ Ищите по кругу, и вы можете найти предварительно скомпилированные двоичные файлы

TestDisk и Photorec - отличные инструменты http://www.cgsecurity.org/wiki/PhotoRec

0
28.01.2020, 01:41

Теги

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