Вообще говоря, мало что можно исследовать, если процесс не регистрировал что-либо неявно или не было развернуто какое-то общесистемное решение для ведения журнала (скорее всего, 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
настроен и работает. Если это так, вы, вероятно, найдете дополнительную информацию.
Во всяком случае, это больше о поиске иголки в стоге сена. Вы должны сделать много обоснованных (или не очень образованных) предположений о том, что делает этот процесс, чтобы найти что-нибудь.
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}"