Конечно, вы можете отключить или даже удалить ssh-сервер из своей системы.
В любом случае, если кто-то мог войти на ваш рабочий стол через SSH, он в какой-то мере мог получить к нему сетевой доступ. Если доступ был извне, вам также следует взглянуть на свои правила NAT / Port Forwarding, я боюсь, что это не единственная проблема безопасности, с которой вы столкнулись в вашей среде. Если вы обнаружите, что доступ был внутренним, позаботьтесь об устройствах, подключенных к вашей сети!
sed 's/^[ \t]*//'
Якорь ^
указывает sed
начинать с начала строки, а группа регулярных выражений [ \t]*
— сопоставлять все *
пробелы [ ]
или табуляции [\t]
от начала строки до конца строки. сначала не совпадают -и заменить их ничем//
(т.е. удалить их ).
В квадратных скобках []
вы можете указать диапазон символов для соответствия.
sed 's/[ \t]*$//'
Якорь $
отмечает конец строки, поэтому на этот раз sed сопоставляет все пробелы и табуляции от конца строки до первого несоответствия -и снова заменяет их ничем.
Ваше второе выражение ищет все`файлы.cfg ниже текущего каталога
find. -type f -name *.cfg
и grep
их по отдельности
-exec grep -li "$TYPE" '{}' \;
ищет нечувствительное к регистру совпадение -i
для любой строки, хранящейся в переменной $TYPE
, и возвращает имя файла -l
для всех совпадений. Из вашего поста невозможно понять, что $TYPE
содержит
Окончательный sed
использует другой разделитель(sed
принимает первый не -командный символ в вашем аргументе в качестве разделителя,поэтому вы можете использовать все, что вам подходит, и в этом случае вам не нужен обычный /
, потому что это один из ваших поисковых символов, а sed 's/.\///'
менее понятен)
sed 's|./||'
удалит первые два символа из каждого из имен файлов grep
, если вторым символом является /
. Это связано с тем, что первый .
является подстановочным знаком для «любого символа».
Это, вероятно, предназначено для удаления ./
из всех путей (, и в данном случае это будет ), но .
интерпретируется как «любой символ», а не литерал .
. Чтобы убедиться, что заменяется только литерал .
, следует экранировать специальный символ .
sed 's|\./||'
И наконец, совпадения grep
объединяются в виде списка, разделенного пробелами, в
CONFIG_FILE=$(.....)
sed 's/^[\t]*//; s/[\t]*$//'
Это заменит все вкладки до и после разрыва строки ничем.
Вторая операция sed
имеет на момент написания этой статьи синтаксическую ошибку и вообще не будет работать.
sed
первой строки :много лишних пробелов (добавлено при размещении кода здесь ? ). В любом случае, эта часть удаляет TAB
символов, найденных в начале или в конце строк, выводимых dmidecode
. Результат заканчивается переменной TYPE
вторая строка (снова лишние пробелы )довольно загадочно, так как у нас недостаточно информации:
$HW_TYPE
sed
кажется мне неполной (вы уверены, что эта вторая строка действительно работает?)