From: xf0r3m Date: Sat, 22 Jul 2023 10:26:48 +0000 (+0200) Subject: Dostosowanie narzędzi 'notifier' oraz 'padlock' do immudex-lhe X-Git-Url: https://gitweb.morketsmerke.org/?a=commitdiff_plain;h=7320c19791e9321f32ea48b0d274a1e8f657662d;p=immudex-lhe.git Dostosowanie narzędzi 'notifier' oraz 'padlock' do immudex-lhe --- diff --git a/tools/000/notifier b/tools/000/notifier new file mode 100755 index 0000000..46fa786 --- /dev/null +++ b/tools/000/notifier @@ -0,0 +1,21 @@ +#!/bin/bash + +source library.sh; + +if [ "$1" ]; then + case $1 in + "distro") if check_distro_version; then + msg=$(check_distro_version --print); + echo "Distribution update:"; + echo "New version (${msg}) of immudex is available to upgrade."; + else + msg=$(check_distro_version --print); + echo "Distribution update:"; + echo "This (${msg}) is the latest version of immudex."; + fi;; + "packages") msg=$(sudo apt update > /tmp/update.log 2>&1 && tail -1 /tmp/update.log;); + echo "Packages update:"; + echo "$msg";; + esac +fi + diff --git a/tools/000/padlock b/tools/000/padlock new file mode 100755 index 0000000..f21e23b --- /dev/null +++ b/tools/000/padlock @@ -0,0 +1,71 @@ +#!/bin/bash + +#launcher="/home/${USER}/.config/xfce4/panel/launcher-14/16844255236.desktop"; + +function main_unlock() { + /usr/local/bin/immudex_crypt open $1; + #index=$(basename $(/usr/local/bin/immudex_crypt list | grep "$1" | head -1 | awk '{printf $2}' | grep -o '[0-9]')); + #sudo mkdir -p /media/${USER}/$devName; + #sudo mount /dev/mapper/$devName /media/${USER}/$devName; + + #xfce4-terminal --default-working-directory=/ic${index}; + #sed -i 's/padlock-icon/changes-allow/' ${launcher}; + #sudo rm /usr/share/icons/padlock-icon.png; + #sudo ln -s /usr/share/icons/changes-allow.png /usr/share/icons/padlock-icon.png; + +} + +function unlock() { + + cryptParts=$(sudo blkid | grep 'LUKS' | sed 's/://g' | awk '{printf $1" "}'); + if [ "$cryptParts" ]; then + if [ $(echo $cryptParts | wc -w) -gt 1 ]; then + select cryptPart in $cryptParts; do + main_unlock $cryptPart; + break; + done + else + main_unlock $cryptParts; + fi + else + echo -e "\e[31mThere is no LUKS partition to open.\e[0m"; + sleep 3; + fi +} + +function lock() { + + mapperDeviceList=$(ls /dev/mapper --hide=control | awk '{printf $1" "}'); + + if [ "$mapperDeviceList" ]; then + for dmDevice in $mapperDeviceList; do + if sudo cryptsetup status /dev/mapper/${dmDevice} > /dev/null 2>&1; then + mountPoint=$(df --output=source,target /dev/mapper/${dmDevice} | tail -n 1 | awk '{printf $2}'); + if [ "$mountPoint" ]; then + if $(sudo lsof $mountPoint > /dev/null 2>&1); then + echo "Padlock: The /dev/mapper/${dmDevice} cannot be unmount, because there are opened file or running proceses."; + else + sudo umount $mountPoint; + if [ $? -ne 0 ]; then + echo "Padlock: The /dev/mapper/${dmDevice} cannot be unmount, because there are other filesystem is mounted in."; + fi + sudo cryptsetup close /dev/mapper/${dmDevice}; + fi + else + sudo cryptsetup close /dev/mapper/${dmDevice}; + fi + fi + done + fi + #if ! $(df -h | grep -q '/dev/mapper'); then + # sed -i 's/changes-allow/padlock-icon/' ${launcher}; + #sudo rm /usr/share/icons/padlock-icon.png; + #sudo ln -s /usr/share/icons/changes-prevent.png /usr/share/icons/padlock-icon.png; + #fi +} + +mapperDeviceList=$(ls /dev/mapper --hide=control | awk '{printf $1" "}'); + +if [ "$mapperDeviceList" ]; then lock; +else unlock; +fi