Hallo.
Ich habe mir ein script zum öffnen / schließen meiner verschlüsselten festplatte erstellt.
Als root funktioniert es auch. Aber als user per sudo nicht.
Eintrag in /etc/sudoers
michael ALL=(ALL) NOPASSWD: /usr/local/bin/trekstor-crypt
beim versuch die Platte als user zu öffnen kommt dieser Fehler:
$ trekstor-crypt -o
Command failed: Can not access device
beim versuch die Patte zu schließen (vorher als root geöffnet) dieser Fehler:
$ trekstor-crypt -c
Command failed: Failure to communicate with kernel device-mapper driver.
das hier ist das Script
#!/bin/bash
#
# Parmater:
# -o (öffnet /dev/$device nach /dev/mapper/$mapping_name)
# -c (schließt /dev/mapper/$mapping_name)
#
#
# Variablen
# --------------------------------------------
device="/dev/trekstor"
mapping_name="trekstor"
keyfile="pfad/zum/keyfile/keyfile"
# --------------------------------------------
function usage() {
cat << FIN
trekstorcrypt: Falscher oder fehlender Parameter!
trekstorcrypt -o | -c
-o öffnet $device nach /dev/mapper/$mapping_name
-c schließt /dev/mapper/$mapping_name
FIN
exit 1
}
if [ $# -eq 0 ]; then
usage
fi
if [ $1 == "-o" ]; then
if [ -e $device ]; then
cryptsetup luksOpen $device $mapping_name --key-file $keyfile
else
echo "Das device" $device "existiert nicht!"
echo "Platte angeschlossen und eingeschaltet?"
exit 1
fi
elif [ $1 == "-c" ]; then
if [ -e /dev/mapper/$mapping_name ]; then
cat /etc/mtab | grep -e $mapping_name" " 1>/dev/null
if [ $? -eq 0 ]; then
echo /dev/mapper/$mapping_name "ist noch gemounted!"
exit 1
elif [ $? -eq 1 ]; then
cryptsetup luksClose $mapping_name
fi
else
echo /dev/mapper/$mapping_name "existiert nicht!"
exit 1
fi
else
usage
fi
exit 0
Was muss ich machen damit ich das script als user ausführen kann?
EDIT:
Ach, ich bin ja auch blöd!
ich habe einfach vergessen das script auch per sudo aufzurufen. <blush>
mit
sudo /usr/local/bin/trekstor-crypt
gehts.....