запуск сценария pam_exec после завершения входа в систему

Файлы действительно удаляются только после того, как они больше не используются.

Таким образом, если вы запустили процесс, такой как less somefile.txt , а затем rm somefile.txt , вы все равно можете продолжить прокрутку вниз во время выполнения less у которого все еще есть дескриптор файла.

Даже если бы это было не так, программа rm уже была бы полностью в ОЗУ во время работы. Нет ничего, что могло бы проверить, сохранился ли исходный файл или нет.

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

1
15.06.2018, 19:04
1 ответ

Pude resolver esto haciendo que el /usr/local/bin/run_on_login.shinicial bifurcara otro script que se ejecuta como un proceso en segundo plano, espera unos segundos y luego analiza el 'último' comando.

En el ejemplo, pam _exec ejecuta este script:

#!/bin/bash
# /usr/local/bin/run_on_login.sh

nohup /usr/local/bin/parse_last.sh >/dev/null 2>&1 &

Lo que desencadena estos scripts:

#!/bin/bash
# /usr/local/bin/parse_last.sh

sleep 5

# (truncated for brevity)
last -iF | head -n 50 | awk '{print "something"}'
1
28.01.2020, 00:33

Теги

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