Skip to content

A centralized-directory based peer-to-peer distributed file system that uses RSA to securely transmit data.

License

Notifications You must be signed in to change notification settings

devons1umbc/Secure-File-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Secure File System (CMSC626-Team8)

The official repository for CMSC 626 Team 8.

Members: Devon Slonaker, Chris Abili, Yukta Medha, Jay Paun

To set up the environment to be able to test this file system, it is recommended to have at least 3 VMs running Linux. One of them will be a directory VM, and the other two will be client VMs.
Each VM should be logged in with a user of cmsc626 and the password of the cmsc626 user should be 12345.
You will need to have the argparse, os, and socket Python libraries installed on your client VMs. to be able to run the file system.
Put a files and keys directory on the desktop of every VM. Additionally, put a logs.txt file and a deleted directory on the desktop of the directory VM.
Note: Your VM may experience issues with host-key acceptance since we use sshpass, ssh, and rsync for the transportation of files through this entire project. To ensure a smoother experience testing this system, open /etc/ssh/ssh_config in a text editor, find StrictHostKeyChecking, uncomment, and change the value to no.
File system away!

usage: main.py [-h] [-s SEARCH] [-d DOWNLOAD] [-r READ] [-c CREATE] [-w WRITE] [-m MESSAGE]

optional arguments: -h, --help show this help message and exit
example: python main.py --help

-s SEARCH, --search SEARCH
Search for a file
example: python main.py -s test.txt

-d DOWNLOAD, --download DOWNLOAD
Download a file
example: python main.py -d test.txt

-r READ, --read READ
Read a file
example: python main.py -r test.txt

-c CREATE, --create CREATE
Create a file
example: python main.py -c test.txt

-w WRITE, --write WRITE
Write to a file (must be used with -m)
example: python main.py -w test.txt -m "This is text in a file

-m MESSAGE, --message MESSAGE
Message to write to a file (to be used with -w)
example: python main.py -w test.txt -m "This is text in a file"

-x DELETE, --delete DELETE
Delete a file from the file system
example: python main.py -x test.txt

-z RECOVER, --recover RECOVER
Restore a file previously deleted from the file system
example: python main.py -z test.txt

-g GENERATE, --generate GENERATE
Generates a Public/Private key-pair
example: python main.py -g True

-p PERMISSIONS, --permissions PERMISSIONS
Change permissions of a user
example: python main.py -p "192.168.1.5 r permtest.txt"
Note: Valid permissions include r for "read", rw for "read and write", and . for "no permissions"

About

A centralized-directory based peer-to-peer distributed file system that uses RSA to securely transmit data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages