Bestimmte Dateien von USB Stick auslesen & anzeigen

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
carreck
Beiträge: 4
Registriert: 19.07.2013 08:29:23

Bestimmte Dateien von USB Stick auslesen & anzeigen

Beitrag von carreck » 19.07.2013 08:30:44

Hallo!

Ich habe von meinem Chef (bin im Praktikum) die Aufgabe bekommen, einen sicheren Medien-PC zu entwerfen. Dafür hab ich einen Raspberry PI bekommen, sowie ein Debian-System, welches schon auf der SD-Karte installiert war.
Meine Aufgabe war es, den Internetzugang zu sperren (geschafft), sowie den Massenspeichergeräte zu verbieten. Dies ist (egal welche Anleitung ich im Internet fand) nicht möglich. Komischerweise..

Jetzt soll ich, wenn der USB Stick eingeschmissen wird, nur bestimmte Dateien anzeigen. PDF & Libre Office Dateien. Gibt es irgendein Programm, dass dies kann oder kann man das direkt im Kernel einstellen?

Nochmal kurz:
USB Stick rein => Fenster poppt auf => Nur PDF und LibreOffice Dateien sollen angezeigt werden

Gruß

Benutzeravatar
fragenfrager
Beiträge: 658
Registriert: 31.12.2003 08:47:15

Re: Bestimmte Dateien von USB Stick auslesen & anzeigen

Beitrag von fragenfrager » 19.07.2013 20:10:16

Hallo carreck :)

ich hatte vor einigen Wochen eine entfernt ähnliche Aufgabe. Nach einstecken der Kamera sollte alles in einen Ordner runtergeladen werden. Das wäre schonmal ein Ansatz, siehe hier : http://debianforum.de/forum/viewtopic.php?f=25&t=142641

Du willst halt nicht alles runterladen sondern nur manches anzeigen. Eventuell könntest ein temporäres Verzeichnis erstellen lassen und dorthin die erlaubten Dateien runterladen.

Wie und ob es geht kernelseitig nur bestimmte Dateien zuzulassen weiß ich leider nicht aber bin schon gespannt auf die Antwort darauf :)

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Bestimmte Dateien von USB Stick auslesen & anzeigen

Beitrag von Cae » 19.07.2013 23:21:45

Du kannst 'n FUSE-Overlay-Dateisystem schreiben, was sich dann nur als privilegierter Benutzer umgehen lassen wuerde. Dafuer kann jedes beliebige Programm auch nur diese Dateien sehen.

Im Prinzip kann man auch das Anzeigeprogramm patchen, sodass man nur die entsprechenden Dateien sieht, aber das darfst du dann nochmal fuer den "Datei oeffnen"-Dialog von LO und allen anderen beteiligten Programmen machen. Vielleicht ist's der Mittelweg: Eigenes Frontend schreiben/aendern, was nur die gewuenschten Dateien anzeigt, bei Bedarf kopieren und LO an der Kopie arbeiten lassen.

Damit das auch bei FAT-Medien funktioniert (die sind grundsaetzlich Welt-les-/beschreibbar), muss man entweder in einen unerreichbaren Mountpunkt mounten oder LO chrooten. Mit dem ersten Punkt meine ich etwas wie /media/private/stick0, wobei /media/private/ als Besitzer z.B. mountd:mountd (selbst angelegter Benutzer/Gruppe) und als Mode 0700 hat. Ein User viewer (der LO und den PDF-Viewer startet und daran arbeitet) kann nicht in /media/private/ "gehen" und sieht darunter liegende Mounts/Daten gar nicht.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

carreck
Beiträge: 4
Registriert: 19.07.2013 08:29:23

Re: Bestimmte Dateien von USB Stick auslesen & anzeigen

Beitrag von carreck » 24.07.2013 10:51:35

Hallo,
hab es jetzt erst wieder geschafft, hier reinzuschauen.

Also ich hab jetzt erstmal folgendes gemacht:
Eine Regel in /etc/udev/rules.d/ geschrieben, dass ein Script ausführt, sobald ein USB Stick eingesteckt wird. Das Script kopiert alle *.pdf und *.präsentationsdateien auf den Desktop.
Eine Regel in /etc/udev/rules.d/ geschrieben, dass ein Script ausführt, sobald ein USB Stick entfernt wird. Das Script löscht alle *.pdf und *.präsentationsdateien auf dem Desktop.
Windowstaste mit xkeycaps deaktiviert, damit "Ausführen" und der Dateimanager nicht mehr aufgerufen werden kann.
Taskleiste mit Openbox gelöscht
Rechtsklickaktionen auf dem Desktop mit obmenu entfernt.

Soweit, so gut.
Jetzt hab ich ein weiteres Problem

Und zwar muss diese Präsentation, die auf den Desktop kopiert wird, geöffnet werden. Ohne, dass ich eine Tastatur und Maus benutze. Also am besten irgendwie wieder im Script. Freu mich auf eure Hilfe :)

@fragenfrager: Dein Tipp war gut :)

wanne
Moderator
Beiträge: 7581
Registriert: 24.05.2010 12:39:42

Re: Bestimmte Dateien von USB Stick auslesen & anzeigen

Beitrag von wanne » 24.07.2013 16:33:46

Cae hat geschrieben:Damit das auch bei FAT-Medien funktioniert (die sind grundsaetzlich Welt-les-/beschreibbar), muss man entweder in einen unerreichbaren Mountpunkt mounten oder LO chrooten.
Nein, standardmäßig wird die aktuelle umask beim mounten auf alle Inhalte angewendet. Ansonsten kann man das auch einfach mit mount -o umask=777 auf für alle unlesbar einstellen.
Diesen komischen Griff mit den Ordnern machen nur Leute die keine manpages lesen können (Vielleicht weil sie nur mit grafischem zu tun haben.)
rot: Moderator wanne spricht, default: User wanne spricht.

wanne
Moderator
Beiträge: 7581
Registriert: 24.05.2010 12:39:42

Re: Bestimmte Dateien von USB Stick auslesen & anzeigen

Beitrag von wanne » 24.07.2013 16:43:00

@carreck: gib den Usern einfach nicht die möglcihkeit zu mounten die Üblichen knöpfe zu verstecken ist ziemlcih sinnlos.

Man findet immer nochmal einen:
carreck hat geschrieben:Windowstaste mit xkeycaps deaktiviert,
Mit Alt+Druck+R werden alle tasten wieder auf standard gesetzt.
carreck hat geschrieben:Taskleiste mit Openbox gelöscht
Da das ding so nutzlos ist würde ich als erstes openbox beenden und auf der TTY Openbox wieder zurückkonfigurieren.
carreck hat geschrieben:damit "Ausführen" und der Dateimanager nicht mehr aufgerufen werden kann.
[/quote]
Ich würde einfach nen ext-Stick mit ausführbarem shell-Script mit .pdf-Endung und dem befehl pcmanfm als inhalt anhängen und doppelcklick...

Und wenn du das abschaltest wird es wieder 100 möglichkeiten geben.

=> Ändere die Rehte und nicht irgendwelche buttons. So macht das keinen sinn.
Wenn du den mount einfach mit -o umask=177,dmask=077 ausführst kann man als user nicht auf den Stick zugreifen und damit kannst du dir den ganzen anderen sch** der im übrigen das ganze System unnutzbar macht weglassen.
rot: Moderator wanne spricht, default: User wanne spricht.

carreck
Beiträge: 4
Registriert: 19.07.2013 08:29:23

Re: Bestimmte Dateien von USB Stick auslesen & anzeigen

Beitrag von carreck » 25.07.2013 08:08:29

Hallo wanne,

Der User muss ja den USB Stick mounten. Es soll alles von selbst ablaufen:
USB Stick rein => Daten kopieren => Datei öffnen => Präsentation halten => USB Stick entfernen => Daten löschen

So ungefähr in der Reihenfolge. An dem PC wird keine Tastatur angeschlossen, sondern nur eine Art Fernbedienung von Logitech (irgendsoein Presenter).

wanne
Moderator
Beiträge: 7581
Registriert: 24.05.2010 12:39:42

Re: Bestimmte Dateien von USB Stick auslesen & anzeigen

Beitrag von wanne » 25.07.2013 13:58:22

carreck hat geschrieben: An dem PC wird keine Tastatur angeschlossen
Dann kommt halt noch ne Bildschirmtastatur auf den Stick.
Du kennst ja schon die /etc/udev/rules.d/
Da kannst du veranlassen, das beim reinstecken ein script ausgeführt wird. (RUN+="/usr/local/sbin/script %k")
Da kommt dann folgendes rein:

Code: Alles auswählen

mount -o umask=177,dmask=077 $1 /mnt/stick
mkdir /home/user/Desktop/stick
cp -r /mnt/stick/*.pdf /home/user/Desktop/stick #kopieren
cp -r /mnt/stick/*.od? /home/user/Desktop/stick #kopieren
chown -r  user /home/user/Desktop/stick/ #lesbar machen
export DISPLAY=":0" #anzeige setzen
su user -p - c "pdfviewerprogramm *pdf"& #alle pdfs zeigen
umount /mnt/stick
Dnach musst du das Programm in deiner grafischen Oberfläche, das die stiks automatisch mountet entfernen (fals es das gibt) und fertig.

Edit: export vergedssen.
Zuletzt geändert von wanne am 29.07.2013 16:08:57, insgesamt 1-mal geändert.
rot: Moderator wanne spricht, default: User wanne spricht.

gbotti
Beiträge: 846
Registriert: 16.07.2010 14:24:43
Wohnort: München

Re: Bestimmte Dateien von USB Stick auslesen & anzeigen

Beitrag von gbotti » 25.07.2013 15:13:03

Hi.

Probier mal

Code: Alles auswählen

udisks --eject /dev/sdX
nach dem unmounten des Sticks.
Georg
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft

carreck
Beiträge: 4
Registriert: 19.07.2013 08:29:23

Re: Bestimmte Dateien von USB Stick auslesen & anzeigen

Beitrag von carreck » 29.07.2013 08:38:26

Code: Alles auswählen

    mount -o umask=177,dmask=077 $1 /mnt/stick
    mkdir /home/user/Desktop/stick
    cp -r /mnt/stick/*.pdf /home/user/Desktop/stick #kopieren
    cp -r /mnt/stick/*.od? /home/user/Desktop/stick #kopieren
    chown -r  user /home/user/Desktop/stick/ #lesbar machen
Soweit war ich selbst gekommen :)

Was ich jetzt gerade nicht verstehe ist folgendes:

Code: Alles auswählen

 
    DISPLAY=":0" #anzeige setzen
    su user -p - c "pdfviewerprogramm *pdf"& #alle pdfs zeigen
    
-Was meinst du mit "Anzeige Setzen"? Was genau wird da gesetzt?
-Was sind das für Optionen "-p" und "-c"? und was zB müsste ich bei "pdfviewerprogramm" einsetzen, wenn das einfach mit dem "Dokument-Betrachter" geöffnet wird?

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: Bestimmte Dateien von USB Stick auslesen & anzeigen

Beitrag von Gunman1982 » 29.07.2013 10:45:22

carreck hat geschrieben: Was ich jetzt gerade nicht verstehe ist folgendes:

Code: Alles auswählen

 
    DISPLAY=":0" #anzeige setzen
    su user -p - c "pdfviewerprogramm *pdf"& #alle pdfs zeigen
    
-Was meinst du mit "Anzeige Setzen"? Was genau wird da gesetzt?
-Was sind das für Optionen "-p" und "-c"? und was zB müsste ich bei "pdfviewerprogramm" einsetzen, wenn das einfach mit dem "Dokument-Betrachter" geöffnet wird?
DISPLAY=":0" <- variable die Programen (die über X gehen) sagt welches display sie nutzen sollen.
su user -p -c .... <- man su

Code: Alles auswählen

-c, --commandBEFEHL
           gibt einen Befehl an, der von der Shell mittels ihrer Option -c ausgeführt wird
...
       -m, -p, --preserve-environment
           Erhält die aktuelle Umgebung mit Ausnahme von:
...

Antworten