staging.inyokaproject.org

Ein passwortgeschützter Ordner

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

tahr09

Anmeldungsdatum:
5. Januar 2011

Beiträge: 946

Guten Abend,

ich bin vorhin im Forum in diesem Thread auf einen Beitrag gestoßen, der mich irgendwie herausgefordert hat.

Kurze Erklärung, damit Ihr nicht den ganzen Thread lesen müsst.

Gesucht war eine Möglichkeit einen Ordner mit einem Passwort zu schützen.

Wenn ich kurz den Threadstarter zitieren darf:

Mir ist jetzt noch die Idee gekommen, dass ich anstelle des Ordners ein kleines Script stelle, das dann nach Passworteingabe den versteckten Ordner öffnet hat jemand sowas?

Dann habe ich mir gedacht, dass das doch eine ganz gute Idee ist.

Kurzum : Ich habe das mal in 20 min zusammengebastelt, da ich es nützlich finde.

Das Programm erstellt einen versteckten Ordner im Homeverzeichnis, und ein Script welches nach Passworteingabe diesen Ordner öffnet.

Für das Script wird ein Starter auf dem Desktop angelegt.

Sieht also so aus:

Nach Doppelklick auf den 'Ordner' auf dem Desktop, wird man nach dem Passwort gefragt. Gibt man es richtig ein, so öffnet er sich.

Man beachte dringend:

  • Jeder, der auch nur etwas Ahnung von der Sache hat kann das kinderleicht umgehen.

  • Diese Methode ist wirklich nur dafür gedacht die kleine Schwester, die Frau oder die Oma vom Ordner fern zu halten. Gegen eine Live-CD oder ein STRG+H in /home hat der Ordner natürlich keine Chance.

  • Das Script wird ins Stammverzeichnis kopiert, damit der Desktopstarter direkten Zugriff darauf hat (Variablen in dieser Form sind in Startern leider nicht verfügbar).

  • Richtet euch das nur ein wenn ihr damit einverstanden seid und wisst was ihr macht.

Wie richte ich das ein?

Ladet das Archiv runter, und entpackt es. Anschließend doppelklickt ihr die Datei install.sh, und wählt Im Terminal ausführen.

Nach Abschluss habt ihr den 'passwortgeschützten' Ordner auf dem Desktop.

Das Passwort zum Ordner öffnen ist

ubuntu

Wer ein anderes möchte, öffnet mit

gksudo gedit /usr/locker.sh

das Script, und passt dementsprechend die Zeile

if [ $WERT == "hierkommtdaspasswortrein" ]

an.

Getestet unter Ubuntu 10.04. Alles andere könnt ihr ausrobieren.

Wie gesagt:

  • Eine absolut ausreichende Methode Dateien vor fremden Blicken zu schützen.

, denn sie

  • Hilft gegen den Großteil der Menschen, die Einblick in den Ordner wollen.

, weil

  • Wer nicht weiß, dass ein versteckter Ordner existiert, der sucht ihn nicht und findet ihn daher auch nicht.

, sowie

  • Wenn denn mal einer kommt, der soweit denkt: Wie hoch ist die Warscheinlichkeit, dass dieser sich mit Linux auskennt?

Was gibt es noch zu sagen?

Die Sache funktioniert, und ist nützlich für mich. Daher biete ich es euch einfach mal an. ☺

Nachtrag:

Für die Passwortabfrage wird Zenity verwendet.

Unter 10.04 ist das vorinstalliert. Wie es mit anderen Ubuntuversionen aussieht, weiß ich nicht.

Sollte es nicht funktionieren, so installiert zuvor zenity mit dem Befehl

sudo apt-get install zenity

lg Julian

Locker.tar.gz (111.5 KiB)
Download Locker.tar.gz

dAnjou

Avatar von dAnjou

Anmeldungsdatum:
8. Oktober 2007

Beiträge: 872

Dieses "Prinzip" nennt man security through obscurity. Mindestens genauso einfach, aber wirklich wirksam sicher wäre EncFS gewesen.

(Ich halte es für nicht so gut, wenn Sachen wie diese hier tatsächlich als "Projekt" veröffentlicht werden, aber das ist nur meine Meinung.)

The-Compiler Team-Icon

Avatar von The-Compiler

Anmeldungsdatum:
21. April 2006

Beiträge: 2640

Du erfindest das Rad grad neu, nur rechteckig 😛

Dafür gibts Truecrypt, gnupg und wohl noch ganz viele andere Lösungen, bei denen der Ordner dann auch vollverschlüsselt ist, und wirklich niemand mehr was darin sieht 😉

Falls ich dir noch n bisschen konstruktive Kritik für deine Bash-Skripts geben darf:

  • Ich würde mir angewöhnen $() statt `` zu verwenden, ist quasi der neuere Ersatz dafür. Ist besser von ' unterscheidbar und lässt sich ohne Backslash-Wald ineinander schachteln.

  • Selbiges mit [[ statt [ - hier gibts auch ziemlich viele Fallen in die du sonst laufen kannst

  • Anführungszeichen sind in Bash nicht nur für Strings da, Variablen mit User-Input müssen immer von ihnen umschlossen sein ("$WERT" statt $WERT) - sobald die Eingabe ein Leerzeichen oder einige andere spezielle Zeichen enthaltet geht dein Skript sonst kaputt.

  • Ist ne Kleinigkeit, aber generell sagt man, dass man für Variablen Kleinbuchstaben verwenden sollte, weil Variablen in Grossbuchstaben für Umgebungsvariablen ($HOME, $PWD, etc. etc.) reserviert sind.

  • exit 0 steht für "Abgeschlossen ohne Fehler", in deinen Fällen willst du eher exit 1 oder so nutzen.

  • Wo gehört denn das done in locker.sh hin?

  • In install.sh würd ich das "Zum Starten [Enter] drücken" rausnehmen. Zenity bringt mir ja nicht viel, wenn ichs ja doch im Terminal ausführen muss 😉

Flo

tahr09

(Themenstarter)

Anmeldungsdatum:
5. Januar 2011

Beiträge: 946

Zu EncFS & Co:

Sicher können die das und noch mehr, aber das ist etwas mehr Aufwand. Den Ordner zuvor immer einzubinden ist mir zu viel.

Meine Bastelei hat eine Größe von 1 KB, braucht daher keinen Festplattenplatz, und tut für mich den gewünschten Job 👍

Ob das ein Projekt ist, kann man wirklich in Frage stellen. Ich habe es nur einmal vorgestellt, da eventuell jemand einen Nutzen darin sieht ☺

Danke für die Verbesserungsvorschläge ☺

Werde ich testen und mir angewöhnen.

Das done ist ein Überbleibsel aus einer while-Schleife, mit welcher ich es zuerst versucht habe. Das endete allerdings in einer Endlosschleife. Habe ich einfach vergessen zu entfernen. Ist mir garnicht aufgefallen 😕 Danke.

In install.sh würd ich das "Zum Starten [Enter] drücken" rausnehmen. Zenity bringt mir ja nicht viel, wenn ichs ja doch im Terminal ausführen muss

Könnte man weglassen, ja. Ich persönlich finde es so schöner, als wenn einfach nacheinander 3 Zenity Fenster aus dem Nichts auftauchen.

lg Julian

syscon-hh

Anmeldungsdatum:
8. Oktober 2005

Beiträge: 10220

Julian92 schrieb:

Zu EncFS & Co:

Sicher können die das und noch mehr, aber das ist etwas mehr Aufwand. Den Ordner zuvor immer einzubinden ist mir zu viel.

lg Julian

Warum, ich zitiere The Compiler , das Rad neu erfinden. Wenn es nur um den Schutz z.B. eines einzelnen Ordner handelt, dann haben wir ecryptfs/Einrichten (Abschnitt „Einrichtung-Verzeichnis-Private“), da wird dieser Ordner beim Anmelden automatich aufgeschlossen und keine extra Frikelei ist erforderlich.

gruß syscon-hh

tahr09

(Themenstarter)

Anmeldungsdatum:
5. Januar 2011

Beiträge: 946

Wenn es nur um den Schutz z.B. eines einzelnen Ordner handelt, dann haben wir ecryptfs/Einrichten, da wird dieser Ordner beim Anmelden automatich aufgeschlossen und keine extra Frikelei ist erforderlich.

Hier sieht das Ergebnis aber auch nicht so aus wie bei meinem Konstrukt.

Wie gesagt soll es überhaupt nicht bombensicher sein. Eine Verschlüsselung ist überhaupt nicht gewünscht.

Ich wollte einfach nur eine Passwortabfrage zum Ordner. Nicht mehr, und nicht weniger.

Auch wenn EncFS ein tolles Programm ist, so ist es nicht das, was ich mir vorgestellt habe. 👍

lg

KarstenW.

Avatar von KarstenW.

Anmeldungsdatum:
27. Juni 2011

Beiträge: 208

Meine Kritik:

Das Script ist relativ einfach und von jemanden der sich ein bischen mit der Materie PC auskennt schnell durchschaubar. Schade das man Anhand der Verknüpfung und Eigenschaften leicht lokalisieren kann wo sich die Scriptdatei befindet, denn dadurch ist es ein leichtes an das Passwort zu gelangen.

Dennoch ist es geeignet ein paar Sachen zu verstecken und ich gebe Julian Recht, wer nichts weiss sucht auch nicht. Was mir gefällt ist das man schnell und einfach einen passwortgeschützten versteckten Ordner anlegen kann, der für einfache Zwecke ausreichend ist.

Fazit:

Ein Script welches den Zweck für den es vorgesehen ist erfüllt, keine ultimative Sicherheitslösung aber das soll es ja auch nicht sein.

Was vielleicht interessant wäre, eine Abfrage bei der Installation in der man einen eigenen Namen für den Ordner und das Passwort direkt festlegen kann.

tahr09

(Themenstarter)

Anmeldungsdatum:
5. Januar 2011

Beiträge: 946

Hey,

Was vielleicht interessant wäre, eine Abfrage bei der Installation in der man einen eigenen Namen für den Ordner und das Passwort direkt festlegen kann.

Schwierig 😕 Ich werde später mal nachdenken wie ich das lösen könnte.. ☺

Aber da hast du Recht!

lg

KarstenW.

Avatar von KarstenW.

Anmeldungsdatum:
27. Juni 2011

Beiträge: 208

Vielleicht eine Eingabeabfrage und diese in einer Variable speichern, wenn das so machbar ist. Kenne mich leider noch nicht ganz so gut in Sachen Bashscripte aus.

Gruß Karsten

tahr09

(Themenstarter)

Anmeldungsdatum:
5. Januar 2011

Beiträge: 946

Vielleicht eine Eingabeabfrage und diese in einer Variable speichern, wenn das so machbar ist. Kenne mich leider noch nicht ganz so gut in Sachen Bashscripte aus.

Ja so irgendwie habe ich mir das auch gedacht

1
2
3
# Passwort erstellen

passwort=`zenity --entry --title=Passwort --text="Wähle ein Passwort für den Ordner"`

Jetzt steht das eingegebene Passwort in der Variable $passwort.

In locker.sh dann

1
if [ $WERT == "$passwort" ]

Problem dabei:

Das Script locker.sh kennt diese Variable nun nicht.

Irgendwie müsste man die Variable $passwort an locker.sh weitergeben.

Wie man das aber macht, weiß ich nicht 😕

tahr09

(Themenstarter)

Anmeldungsdatum:
5. Januar 2011

Beiträge: 946

Habe nochmals überlegt. Das wird zu verzwickt und verschachtelt sich zu sehr.

Ich lasse das einfach so. Wie man das Passwort ändert steht im ersten Beitrag geschrieben. Den Namen des Ordners kann man auch von Hand anpassen.

Die Grundpfeiler der Sache stehen, und das Programm funktioniert einwandfrei.

Viel mehr Zeit werde ich nicht mehr hineininvestieren.

Wer mehr will, schaue sich die genannten Programme wie EncFS o.a an, oder bastelt sich die gewünschten Sachen dazu ☺

lg Julian

dAnjou

Avatar von dAnjou

Anmeldungsdatum:
8. Oktober 2007

Beiträge: 872

Julian92 schrieb:

Zu EncFS & Co:

Sicher können die das und noch mehr, aber das ist etwas mehr Aufwand.

Nein, ist es nicht.

Den Ordner zuvor immer einzubinden ist mir zu viel.

Nichts anderes tust du doch quasi mit deinem Skript.

tahr09

(Themenstarter)

Anmeldungsdatum:
5. Januar 2011

Beiträge: 946

Nichts anderes tust du doch quasi mit deinem Skript.

Nein. Der Ordner ist immer da, nur versteckt. Ich mounte ihn nicht. Ich gebe nach Passworteingabe den Pfad zum Ordner frei, und starte die Ordneransicht mit Nautilus.

lg

tux-ch

Anmeldungsdatum:
22. August 2010

Beiträge: 91

Hallo

du könntest den Wert der Variablen, mit >> in die Datei schreiben lassen.

in etwa so.

locker.sh

#! /bin/bash
# Autor: Julian

passwort = `cat $HOME/.passwort`

WERT=`zenity --entry --title=Passwort --text="Gebe das Passwort ein"`

    if [ $WERT == "$passwort" ]
    then
        nautilus $HOME/.Dateien
    else
        zenity --warning --text "Versuche es nocheinmal" --title="Falsch"
        exit 0
    fi
done

Dabei leitest du die Variable "passwort" in eine versteckte Datei im Homeverzeichnis(~.passwort)um.

Nach dem Definieren (in der install.sh) vom Passwort, brauchst du nur noch diese Datei in etwa so zu erstellen.

echo "$PASSWORT" > $HOME/.passwort

gruss

tux-ch

Moderiert von fuchsfuchsfuchs:

Namen entfernt

tahr09

(Themenstarter)

Anmeldungsdatum:
5. Januar 2011

Beiträge: 946

Super, Danke!

Daraufhin hier Version 0.2

Neuerungen:

  • Festlegen des Passwortes während der Installation

  • Script zum Ändern des Passwortes

  • Quelltext übersichtlicher

lg

Locker.tar.gz (111.6 KiB)
Download Locker.tar.gz
Antworten |