Mount.md5key

From BononWiki

Jump to: navigation, search

Index

Mount.md5key is a software construction to provide browseable maps, offering access to various resources like local harddisks, usb sticks and cdroms, and remote resources like SMB shares and internet services like ownCloud, Amazon S3 and Google Docs.

It does that by using the automounter to do the mounting, and a FUSE fs which provides a userfriendly browseable map.

Additional tools used are: udisk for detecting local hardware, smbclient, nmblookup and nbtscan for detecting smb resources, at as general launch manager, other FUSE fs's to mount specific targets like fuse-cdfs to mount an audio cdrom, wdfs to mount webdav services like ownCloud and s3backer to mount Amazon S3 online storage.

The construction uses three setups:

1. at /media

At /media the following directories are present:

/media/
  computer
  internet services
  mounts
  network

Complete unfolded it looks like:

/media/
  computer
    3-Audio CD
    23-SAMSUNG_SP250C
    161-SAMSUNG_HM500JI
  internet services
    Amazon S3 Online Storage
    OwnCloud Online Storage
  mounts
    Pardus-2011-i686.iso
  network
    Windows Network
      TESTGROUP
        TESTSERVER
          public
          shared


Properties:

a. a browseable map, where resources are detected while browsing.
b. resources are mounted by the automounter somewhere else, but redirected by the FUSE fs to the right location in the browseable map above.
c. there are only public resources: all the mounts are done as guest or as a specific user which does not depend on the current user logged in.
d. other network/internet services are possible, as long there is a command to mount it, and ways to detect resources.
e. started at system startup, stopped at system shutdown
f. the iso file in mounts is an example. the mounts folder gives the user the ability to mount specific targets by running a command in the right-click menu. Supported at this moment are iso files and archives. It's of course possible to support more, as lomg there is mount command, and a way to browse to it, using the file manager. (browsing the network using SLP providers like Avahi??)


2. at $HOME/Workspace (or $HOME/Media)

At $HOME/Workspace (or $HOME/Media) a simular map:

$HOME/Workspace
        Computer
        Internet Services
        Mounts
        Network
        Shared


Unfolded it looks the same as above. Properties, different from setup 1:
a. started when user logs in, aka a session starts, and removed when the session ends.
b. private mounts, mounts on behalf of the user are possible, like user defined credentials to mount SMB shares

This setup requires more administration, since it has to be started when a session begins, and removed when session ends. The use of a specific PAM module to execute scripts (pam_exec/pam_script) is required.


3. Chroot to create a new root (aka Gobo Linux setup)

When a usersession starts, a complete different environment is created:

(at /:)

Computer
Home
Internet Services
Network
Mounts
Shared
System

Specific properties:
a. every user get her/his own personal chrooted environment
b. system directories like /bin, /sbin, /usr and /lib are present, but hidden by the FUSE fs.
c. next to the pam module to run scripts is a pam module to chroot is required.
d. I'v been experimenting with namespace support. Needs more testing.



. Introduction and motivation

. Features

. Technique_and_tricks_used.


Technical issues


. MD5KEY resource records

. Automounter setup

. FUSE module fuse-workspace

. Extension scripts of at: at as launchmanager

. FUSE and Inotify

. Integration with environment

. Support for Cdroms

. Nor session nor system service

. Automounting facility


Project related


. Installation

. Ideas and TODO

. Changes and issues

. All the screenshots

Personal tools