Код: Выделить всё
#!/bin/env bash
DEVICE="$(blkid | grep 2fb27178-7712-4ef0-bd75-1507f9694d75 | cut -d : -f1)"
BLOCK="$(echo "$DEVICE" | cut -d / -f3)"
REALUSER="$(who | grep ":0" | head -n1 | awk '{print($1)}')"
FILE=/media/$REALUSER/LUKS_USB
if [ ! -d "$FILE" ]; then #Проверяем существует ли каталог /media/REALUSER/LUKS_USB
mkdir -p "/media/$REALUSER/LUKS_USB"
fi
MOUNT="$(command -v systemd-mount)"
if [ -n "$DEVICE" ]; then
cryptsetup -v luksOpen "$DEVICE" "$BLOCK"_crypt --key-file=/root/Luks_USB.key \
2>&1 > "/tmp/cryptmount.log"
"$MOUNT" /dev/mapper/"$BLOCK"_crypt "/media/$REALUSER/LUKS_USB" 2>&1 >> "/tmp/cryptmount.log"
else
exit 0
fi
Код: Выделить всё
[Unit]
Description=luxmount
After=multi-user.target
[Service]
Type=oneshot
User=root
ExecStart=/opt/scripts/luxmount.sh
[Install]
WantedBy=multi-user.target
Запускаю сервис и скрипт срабатывает, но сервис остается неактивным:
Код: Выделить всё
○ luxmount.service - luxmount
Loaded: loaded (/etc/systemd/system/luxmount.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Sun 2023-07-30 15:17:57 MSK; 5min ago
Process: 26164 ExecStart=/opt/scripts/luxmount.sh (code=exited, status=0/SUCCESS)
Main PID: 26164 (code=exited, status=0/SUCCESS)
CPU: 44ms
июл 30 15:17:57 ROSALINUX-PC1 systemd[1]: Starting luxmount...
июл 30 15:17:57 ROSALINUX-PC1 luxmount.sh[26173]: Устройство sdg3_crypt уже существует.
июл 30 15:17:57 ROSALINUX-PC1 luxmount.sh[26174]: Started unit media-venlip-LUKS_USB.mount for mount point: /media/venlip/LUKS_USB
июл 30 15:17:57 ROSALINUX-PC1 systemd[1]: luxmount.service: Deactivated successfully.
июл 30 15:17:57 ROSALINUX-PC1 systemd[1]: Finished luxmount