Увеличивает последнюю часть имени переменной

Вообще говоря, мало что можно исследовать, если процесс не регистрировал что-либо неявно или не было развернуто какое-то общесистемное решение для ведения журнала (скорее всего, auditd ).

Предполагая, что вы не знаете, что этот процесс пытался выполнить, вы можете:

  • Выполнить last и last -f / var / log / btmp | less или faillog для поиска подозрительных успешных или неудачных попыток входа в систему.

  • Проверьте / var / log / secure на наличие ключей, связанных с аутентификацией.

  • Проверьте / var / cron / tab и / etc / crontab , чтобы найти любые новые добавленные задания, если таковые имеются (также проверка / var / log / cron поможет выявить некоторые подозрительные задания, которые были запущены, что означает, что конфигурация cron была изменена для поиска в других папках для дополнительных заданий)

  • Запустите lsmod для любых загруженных подозрительных модулей ядра (также dkms status для динамически загружаемых)

Вы также можете проверить все файлы журналов вручную или с помощью поиска по имени процесса (если вы его знаете). И да, проверьте / var / log / audit на случай, если auditd настроен и работает. Если это так, вы, вероятно, найдете дополнительную информацию.

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

1
03.06.2019, 22:18
1 ответ
read -r "job$i" < ...

Это должно работать, если i=3, то read должно установить job3.

Однако ваши циклы выглядят немного не так:

for((i=0; i < Counter; i++)); do
    while read -r Parmfilesjobid; do
        IFS=$'\n' read -d '' -r -a  "job$i" < ${Parmfilesjobid[$i]}

while read поместит только одно значение в Parmfilesjobid, так что, например. ${Parmfilesjobid[1]} будет удален. (Конечно, скалярный доступ, такой как $var, совпадает с ${var[0]}, поэтому, если вы ранее установили Parmfilesjobid как массив, у вас могут быть значения и с другими индексами, но вы не используете значение из read, за исключением случаев, когда i=0.

Вы также используете Parmfilesjobid как входные данные для цикла while read... и как переменную, используемую read, которая немного сбивает с толку и означает, что последние итерации for дадут while последний Parmfilesjobid, прочитанный в предыдущей итерации в качестве входных данных. Это кажется несколько странным.

Поскольку я не вижу вашего ввода, я не совсем уверен, что вы хотите здесь сделать. Но я подозреваю, что что-то вроде этого может быть ближе:

i=0
while read -r filename ; do
    IFS=$'\n' read -d '' -r -a  "job$i" < "$filename"
    let i++
done <<< "${var_with_filenames}"
1
27.01.2020, 23:45

Теги

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