Усиление переменных расширения на удаленном сервере SSH

Самый простой способ - включить аудит системных вызовов

Подробности см. По следующей ссылке ,

Кто-нибудь знает простой способ отслеживания появления корневого процесса | Ошибка сервера

Если вы отслеживаете все процессы, просто удалите часть -F uid = 0

Журналы записываются в /var/log/audit/audit.log

1
13.02.2019, 23:36
2 ответа

Проблема в том, что между одинарными кавычками $replacement не раскрывается.

В этом случае sed -i -e "s/contact/$replacement/g" path/file;должен работать.

Или это:

sed -i -e 's/nothing/'$replacement'/g' path/file;

Пример:

$ echo "There's nothing there." > file 
$ cat file 
There's nothing there.
$ replacement=something 
$ sed -i -e 's/nothing/'$replacement'/g' file;
$ cat file
There's something there.

В ответ на комментарий Кусалананды ниже :Если замена, являющаяся путем, содержит косые черты, вам нужно будет предварительно -обработать ее, прежде чем использовать ее с sed:

replacement=$(sed 's@\/@\\\/@g' <<< "$replacement")
1
27.01.2020, 23:30

здесь документы — хорошая идея для изучения, когда вы цитируете ад:

ssh "$login" <<'END_REMOTE'
    replacement=$(find. -name file)
    sed -i -e 's/contact/$replacement/g' path/file
END_REMOTE

Открывающее ключевое слово для heredoc заключено в кавычки, что означает, что весь heredoc заключен в одинарные кавычки. Легче читать, не так ли?

1
27.01.2020, 23:30

Теги

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