Экстренное удаление данных в Linux при вводе специального пароля
Всем салют, дорогие друзья!
Представьте, что у вас на пороге вдруг появились какие‑нибудь нежданные гости, которых может заинтересовать информация в вашем компьютере. Но вы уже подготовлены! Даже если вас заставят залогиниться в систему или выдать пароль, вы сможете назвать специальный пароль, который активирует скрипт, уничтожающий все интересное.
Кстати, в Kali Linux есть похожая функция. Но она работает иначе. При вводе пароля происходит экстренное шифрование данных.
Экстренное удаление при вводе пароля в Linux
Сделать это поможет средство pam-duress. Реализовано оно как PAM-библиотека (Pluggable Authentication Module), которая подключается к процессу обработки запроса на авторизацию и обрабатывает введенный пароль по своей логике, если обычный вход не удался.
sudo apt install build-essential libpam0g-dev libssl-dev
git clone https://github.com/nuvious/pam-duress.git
make
sudo make install
make clean
mkdir -p ~/.duress
sudo mkdir -p /etc/duress.d
- После установки модуля его нужно включить, чтобы система использовала его для аутентификации пользователей. Для этого нужно отредактировать
/etc/pam.d/common-auth
и заменить эти две строки на следующие:
auth [success=1 default=ignore] pam_unix.so
auth requisite pam_deny.so
auth [success=2 default=ignore] pam_unix.so
auth [success=1 default=ignore] pam_duress.so
auth requisite pam_deny.so
Скрипты в ~/.duress
должны иметь разрешения 500, 540 или 550, в противном случае они не будут выполнены.
Подложный пароль задается при выполнении duress_sign
и должен не совпадать с обычным.
На скрине выше вы видите тестирование. В первом случае я ввел настоящий пароль и ничего не произошло. Во втором ввел подложный — и выполнился скрипт, вывод которого попал в консоль.
Важное уточнение: при сборке по этой инструкции вы не получите никакого вывода в консоли. Это не ошибка: скрипт все равно выполняется, но его вывод перенаправлен в /dev/null. Если ни один скрипт не может быть выполнен при вводе липового пароля — pam_test
выведет Not Authenticated
.
На сегодня у меня все. Надеюсь, что в нужный момент эта информация спасет вам жизнь. Спасибо за внимание!