Talk:OSC:File Systems
From SOFTICE
|
Notes on Setting up the lab
For this lab, we provide our students with a virtual device meant to be used as a DOS partition.
dd if=/dev/zero of=vfat-disk.rfs seek=$[1024 * 10] count=1
You will then need to install the dosfstools pacakge
apt-get install dosfstools
in order to be able to format this device as a FAT partition for your students
mkfs -t vfat vfat-disk.rfs
You also need to make sure you have installed the sleuthkit debian package in the UML virtual disk image (this is done by default on the disk images you can download from softice).
Going a little further
There are couple of ways this lab could be further developed;
Rootkits
We already take care of exploring the security aspects of FS and more specifically the hiding of files and directories in OSC:Stealth Files.
Stackable File Systems
Erez Zadok's work on stackable file systems (http://www.ncl.cs.columbia.edu/research/fs/) is very promising for a lab. We can easily introduce a clean API as a first contact with the actual implementation of the VFS and have very morivating projects (encryption, spying, ...).
- http://www.filesystems.org/
- http://www.ncl.cs.columbia.edu/research/fs/
- http://www.linuxjournal.com/article.php?sid=6485
- http://www.linuxjournal.com/article/7714
FSFS: File Systems From Scratch
While I enjoyed digging in the FS layout in this lab, I still think that it's only the first part of a natural 2 parts lab. The second part will have to focus more on the VFS data structures in the kernel. Ben found the following link, might be a good start:
- Tutor FS project http://inglorion.net/documents/tutorials/tutorfs/
- [UTLK] is also a great resource for FS kernel code exploration, of course.
- Kernel Newbies http://kernelnewbies.org/RFS_-_Basic_Filesystem
Still playing with FAT tables?
The freeDOS project is a one-stop wonder to get access to implementation of FS tools a-la DOS (e.g. undelete).
- Freedos project http://www.freedos.org/
- Freedos Documentation Project http://fd-doc.sourceforge.net/wiki/index.php
The following page is moderately useful but is freely accessible unlike the [FSFA] reference I've been using in the lab itself.
- FAT32 information page http://home.teleport.com/~brainy/fat32.htm

