Verschlüsselte Ordner über USB-Stick steuern

Status
Für weitere Antworten geschlossen.

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
1
Punkte
84
Da hin und wieder nachgefragt...

Voraussetzungen
  • DSM 4.0+
  • autorun

Setup
  1. Verschlüsselten Ordner im DSM anlegen. Nicht automatisch einhängen.
  2. autorun installieren und Paket noch nicht starten!
  3. USB-Stick anschließen und im Hauptverzeichnis (/volumeUSB*/usbshare) eine Datei namens "autorun" und folgendem Inhalt anlegen:
    Rich (BBCode):
    #!/bin/sh
    
    SHARE="test"
    PASSWORD="12345678"
    
    if [ -z "$1" ]
    then
            echo "incorrect '\$1' - aborting ..."
            exit 1
    fi
    /usr/syno/sbin/synoshare --enc_mount "$SHARE" "$PASSWORD"
    if [ $? -ne 0 ]
    then
            exit 2
    fi
    
    FILE="/tmp/autorun.$SHARE"
    echo "#!/bin/sh" > $FILE
    echo "while [ -d \"$1\" ]" >> $FILE
    echo "do" >> $FILE
    echo "        /bin/sleep 10s" >> $FILE
    echo "done" >> $FILE
    echo "/usr/syno/sbin/synoshare --enc_unmount \"$SHARE\"" >> $FILE
    echo "rm \"$FILE\"" >> $FILE
    chmod +x "$FILE"
    /bin/sh "$FILE" &
    exit 0
    SHARE und PASSWORD an die eigenen Gegebenheiten anpassen.
  4. Skript ausführbar machen (chmod +x autorun)
  5. USB-Stick entfernen, Paket autorun starten und den Ordner ggf. aushängen.


Wenn dann jetzt der USB-Stick angeschlossen wird, startet autorun das Skript. Dieses hängt den verschlüsselten Ordner ein und erstellt ein weiteres Skript auf der DS. Das zweite Skript überwacht den USB-Stick und, wenn dieser nicht mehr da ist, wird der Ordner ausgehängt. Somit kann durch Anstecken und Abziehen des Sticks der verschlüsselte Ordner gesteuert werden.
 

deniswelsch

Benutzer
Mitglied seit
19. Aug 2011
Beiträge
98
Punkte für Reaktionen
0
Punkte
6
Funktioniert super.
Danke dafür!
 

Blueberry

Benutzer
Mitglied seit
04. Apr 2012
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Gibt es auch eine Möglichkeit das das Passwort nicht im Klartest drin steht, sondern als Hashwert?
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
1
Punkte
84
Nein, das geht mit synoshare nicht.

Aber so ganz verstehe ich den Sinn nicht. Ob ich nun das Passwort oder den daraus genierten Key habe, wenn ich mit beidem mounten kann, ist es für einen Angreifer ziemlich egal welches er kriegt...
 

koerd

Benutzer
Mitglied seit
10. Dez 2012
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
Leider funktioniert das Skript bei mir nicht. Autorun scheint zu funktionieren, aber anscheinend wird das Skript gar nicht ausgeführt, obwohls laut Protokoll vom Autorun gefunden und ausgeführt wird.
Wo finde ich die Fehlermeldungen, die das Skript ausgibt, oder wie kann ich feststellen, ob das Skript überhaupt ausgeführt wird? Hab leider keine Ahnung von Shell-Skripten...

EDIT: Fehler gefunden! Hatte das Skript im Windows aus dem Forum kopiert und darum noch "carriage returns" an den Zeilenenden.
 
Zuletzt bearbeitet:

Matz75

Benutzer
Mitglied seit
11. Aug 2012
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Kleine Probleme

Hallo Merthos,
habe ein Problem mit deinem Skript.

Benutze Software DSM 4.1

Mounten des Verzeichnisses funktioniert einwandfrei.

jedoch das Trennen funktioniert leider nicht,
das Verzeichnis bleibt eingebunden.

Das für das Unmount zuständige skript wird scheinbar nicht in /tmp angelegt.


Ich habe an deinem Skript nichts bis auf (SHARE & PASSWORD ) geändert.

Hast du eine Idee

Hier das Log.:
2013-01-24 01:25:05: device 'sdr' - inserted, trying to find mount point
2013-01-24 01:25:14: device 'sdr' - mount point '/volumeUSB1/usbshare' found
2013-01-24 01:25:14: device 'sdr' - script '/volumeUSB1/usbshare/autorun' found, executing
2013-01-24 01:25:16: device 'sdr' - script '/volumeUSB1/usbshare/autorun' finished, no further actions


greets Matthias
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
1
Punkte
84
Du könntest auf der Konsole schauen, ob das zweite Skipt existiert und ob es läuft. Ansonsten überall ein paar echos zum Loggen (in eine Datei) reinmachen.
 

Matz75

Benutzer
Mitglied seit
11. Aug 2012
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Habe ich

Hi,
ja das habe ich bereits gemacht.

Das skript ist nicht vorhanden.

Das Skript sollte doch unter /tmp/autorun.Pfadname zu finden sein,
oder ?
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
1
Punkte
84
Ja. Dann bleibt wohl nur ein bissel Logging einzubauen...
 

shorty707

Benutzer
Mitglied seit
29. Sep 2014
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
hi
funktioniert das skript noch mit der aktuellen DSM?

bei mir wird es korrekt ausgeführt aber der ordner bleibt verschlüsselt

und würde das auch nach einem reboot den ordner entschlüsseln wenn der usb stick einfach dran bleibt?
hier bekomme ich beim reboot keine info, dass das skript ausgeführt wurde

Danke :)
 
Zuletzt bearbeitet:

Twinki

Benutzer
Mitglied seit
13. Sep 2014
Beiträge
152
Punkte für Reaktionen
0
Punkte
0
Geht das auch irgendwie so, dass man das Passwort nicht als Text auf dem USB Stick hat
und stattdessen das Keyfile benutzt?
 

r3vO

Benutzer
Mitglied seit
27. Apr 2011
Beiträge
23
Punkte für Reaktionen
0
Punkte
1
Gibt es hier was Neues? Ich wollte auch nicht unbedingt mein Passwort so mitgeben...
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
1
Punkte
84
Das gibt die von Syno angebotene Funktion nicht her. Aber wie ich oben schon mal schrieb, macht das effektiv keinen Unterschied, das File ist gleichwertig zum PW.
 

Steppenwolf

Benutzer
Mitglied seit
16. Jan 2013
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Grüß Dich @Merthos
(- und natürlich alle Anderen hier),
ich habe Dein schönes Script gefunden (herzlichen Dank dafür), und mich daran gemacht, alles nach Anleitung zu Installieren.
Schon jetzt viel dabei gelernt:
Das nachträgliche Verschlüsseln eines bereits existierenden Ordners ist nicht möglich.
Ich habe mir geholfen, in dem ich einen neuen Ordner angelegt habe, und die fraglichen Inhalte aus dem sozusagen alten Ordner in den neuen (verschlüsselten) Ordner hinein kopiert habe.
Das funktioniert auch händisch durchgeführt alles soweit ganz gut.

Dann Dein Autorun-Paket nach Anweisung installiert, Autorun auf den USB-Stick gepackt, und ausführbar gemacht.
Leider passiert das Erwartete nun nicht.
Die DS sieht wohl den Stick, scheint aber nichts auszuführen, weder beim An- noch beim Abstecken.
Ich würde Dich gerne um Hilfe bitten, und gleichzeitig um Nachsicht, da nicht gerade gute Linux-Kenntnisse vorhanden sind ...
Wie muß ich vorgehen, um dem Problem auf die Schliche zu kommen?
Ist Dein Script überhaupt noch mit DSM-5.1 kompatibel?

DSM-5.1 Aktuell
DS212+

Danke einstweilen!
 

Steppenwolf

Benutzer
Mitglied seit
16. Jan 2013
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Keiner mehr da, der in der Lage wäre, hier weiterzuhelfen???
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
1
Punkte
84
(Hab bislang noch keine Zeit gefunden, dass selber wieder auszuprobieren, gehe aber davon aus, dass es läuft....)

Wenn gar nichts passiert, liegt der Fehler eher mal Skript:
- läuft das autorun-Package?
- was steht im Log?
- Zeilentrennzeichen (Windows vs. Linux) im Skript sind auch ein beliebter Fallstrick
 

Steppenwolf

Benutzer
Mitglied seit
16. Jan 2013
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Danke @Merthos,
dass Du weiterhelfen willst. (Bitte bei Gelegenheit, wenn es Deine Zeit erlaubt!)

>>> - läuft das autorun-Package?
>>> - was steht im Log?

AutoRun Package läuft, und dies hier steht im Log:

2015-02-16 08:02:31: autorun activated
2015-02-16 10:16:32: device 'sds1' - event received from udev DEVNAME=/dev/sds1 ACTION=add USEC_INITIALIZED=73114142 SEQNUM=676 ID_PART_ENTRY_SIZE=497759 MAJOR=65 ID_FS_UUID_ENC=61aa2064-7807-4d3c-91c3-ec4cc994dd79 ID_FS_LABEL_ENC=1.42.6-5022 SYNO_DEV_DISKPORTTYPE=USB ID_FS_UUID=61aa2064-7807-4d3c-91c3-ec4cc994dd79 DEVPATH=/devices/platform/orion-ehci.0/usb1/1-1/1-1.3/1-1.3.1/1-1.3.1:1.0/host7/target7:0:0/7:0:0:0/block/sds/sds1 ID_PART_ENTRY_SCHEME=dos ID_FS_LABEL=1.42.6-5022 ID_PART_ENTRY_TYPE=0x83 ID_FS_VERSION=1.0 SUBSYSTEM=block PHYSDEVPATH=/devices/platform/orion-ehci.0/usb1/1-1/1-1.3/1-1.3.1/1-1.3.1:1.0/host7/target7:0:0/7:0:0:0 MINOR=33 ID_FS_TYPE=ext4 SYNO_PLATFORM=88f6282 PHYSDEVDRIVER=sd ID_PART_ENTRY_OFFSET=256 ID_PART_ENTRY_DISK=65:32 PWD=/ PHYSDEVBUS=scsi ID_PART_ENTRY_NUMBER=1 DEVTYPE=partition ID_FS_USAGE=filesystem SYNO_KERNEL_VERSION=2.6
2015-02-16 10:16:32: device 'sds1' - inserted, trying to find mount point
2015-02-16 10:16:34: device 'sds1' - mount point '/volumeUSB1/usbshare' found
2015-02-16 10:16:34: device 'sds1' - script '/volumeUSB1/usbshare/autorun' found, executing
2015-02-16 10:16:34: device 'sds1' - script '/volumeUSB1/usbshare/autorun' finished (217.2M left on device), no further actions

Das Scrypt wird also ausgeführt, und gleich darauf beendet. (Ist das so richtig?)
Als Ergebnis würde ich erwarten, dass der verschlüsselte Ordner nun in der File-Station zu sehen ist. Dem ist leider nicht so.

>>> - Zeilentrennzeichen (Windows vs. Linux) im Skript sind auch ein beliebter Fallstrick

Ich habe Dein Scrypt von der Seite-1 im Beitrag mit Copy/Past übernommen, die notwendigen Änderungen mit einem Linux fähigen Editor (Notepad2) vorgenommen,
ausführbar gemacht, und auf den USB Stick gepackt.
Wie gesagt, ich bin kein Linux Könner.
Irgendwo werde ich wohl einen Knopf reingebracht haben ...
Ich suche mal selber weiter, ob ich noch was finde!

Danke einstweilen!
MFG,
 

Steppenwolf

Benutzer
Mitglied seit
16. Jan 2013
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Yuchuuu - Fehler gefunden - Problem gelöst! - Skript funktioniert!

Das hier war der richtige Hinweis:

>>> - Zeilentrennzeichen (Windows vs. Linux) im Skript sind auch ein beliebter Fallstrick ...

Ich habe wie o.g. Notepad2 als Editor benutzt, aber versäumt, diesen von Win (CR+LF) auf Linux (LF) umzustellen!
(Für die die mitlesen; Umstellen in: File -> LineEndings -> Unix)
Das war's!

Damit lag das Problem mal wieder zwischen den Ohren! :rolleyes:

Danke nochmals @Merthos für dieses schöne Skript!


MFG,
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Hallo,


danke für dein Script.

Ich habe dein Script mal gerade ausprobiert und es klappt auch, ich hatte zwar auch Probleme mit der Formatierung aber naja :)


Wenn ich jetzt nur will, dass gemountet wird beim anstecken, kann ich doch den unteren Teil entfernen oder?
Sobald die DS aus ist, wird ja eh getrennt. Das würde für mich langen.

Ich könnte es dann wahrscheinlich so verwenden oder ?

#!/bin/sh

SHARE="test"
PASSWORD="12345678"

if [ -z "$1" ]
then
echo "incorrect '\$1' - aborting ..."
exit 1
fi
/usr/syno/sbin/synoshare --enc_mount "$SHARE" "$PASSWORD"
if [ $? -ne 0 ]
then
exit 2
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat