SFS is a secure file shredder system written in Rust that allows users to securely delete files from a designated directory. It provides two user levels: employee and admin, each with specific permissions and functionalities. The system ensures data security by implementing standard authentication procedures and logging relevant activities.
-
User Authentication: SFS requires users to authenticate themselves before accessing the system. It supports standard authentication methods to ensure secure access.
-
User Levels:
- Employee: Employees can search for files and submit deletion requests. However, they cannot delete files directly.
- Admin: Admins have the authority to approve deletion requests submitted by employees. Additionally, they can perform all actions available to employees.
-
File Search: Users can search for files within the designated directory to locate the files they want to delete.
-
Deletion Requests: Employees can submit deletion requests for files they wish to delete. These requests require approval from an admin before the files are permanently deleted.
-
Customization of User Details: Users can customize their details, including username, password, and other relevant information.
-
Logging: SFS logs all relevant activities, including login attempts, file searches, deletion requests, and approval actions. This ensures accountability and traceability of user actions within the system.
To install SFS, follow these steps:
-
Clone the repository:
git clone https://github.com/nafdev01/file_shredder.git
-
Navigate to the project directory:
cd file_shredder
-
Create a .env file and add your postgresql database URL:
DATABASE_URL=postgres://username:password@localhost/dbname
-
Run the project in develpment moed:
cargo tauri dev
-
Build the project to generate a binary file:
cargo tauri build
Upon running the application, users will be prompted to log in using their credentials. Depending on their user level, they will have access to different functionalities:
-
Employee:
- Search for files.
- Submit deletion requests.
- Customize user details.
-
Admin (in addition to employee functionalities):
- Approve deletion requests.
SFS allows for the configuration of various parameters, including:
- Directory path: Specify the directory where files are stored for deletion.
- User authentication: Configure the authentication method and requirements.
- Logging settings: Define the log format and destination.
These configurations can be adjusted in the config.toml
file located in the project directory.
Contributions to SFS are welcome! If you'd like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and ensure they pass all tests.
- Commit your changes with descriptive commit messages.
- Push your changes to your fork.
- Open a pull request to the main repository.
This project is licensed under the MIT License. See the LICENSE
file for details.
If you encounter any issues or have questions about SFS, feel free to open an issue on GitHub or contact the project maintainer directly.
SFS was inspired by the need for a secure and reliable file shredder system for businesses and organizations. We extend our gratitude to the Rust community for their support and contributions to the ecosystem.
Thank you for using SFS! We hope it helps you securely manage your files with ease.