/born2beroot

A project that explores the fundamentals of system administration and virtual machines.

Primary LanguageShellMIT LicenseMIT

Linkedin 42

AboutMandatoryBonusNorminetteContributingLicense

ABOUT

This system administration project focuses on setting up a secure virtual machine. It covers key topics such as virtualization, partitioning, LVM, command-line tools, SSH, and system security measures like sudo, firewalls, and password policies. The project repository includes a script for automated tasks and the virtual machine signature.

MANDATORY

During the evaluation, I was asked questions about the topics below;

  • Choose between two Linux-based operating systems: Rocky or Debian;
  • Create at least 2 encrypted partitions using LVM;
  • Ensure SSH services are running on specific ports;
  • Configure a UFW firewall and leave only port 4242 open;
  • Set up the hostname (will be changed during evaluation) and a strong password policy for all users;
  • Set up a strong sudo configuration;
  • Create a monitoring script that displays specific information every 10 minutes at server startup;

BONUS

During the evaluation, also had to justify my choices;

  • Set up a different partition structure;
  • Set up a functional WordPress website with the following services: lighttpd, MariaDB and PHP;
  • Set up a service of my own choice that I think is useful (justify that choice);

NORMINETTE

At 42 School, it is expected that almost every project is written following the Norm, which is the coding standard of the school.

- No for, do...while, switch, case, goto, ternary operators, or variable-length arrays allowed;
- Each function must be a maximum of 25 lines, not counting the function's curly brackets;
- Each line must be at most 80 columns wide, with comments included;
- A function can take 4 named parameters maximum;
- No assigns and declarations in the same line (unless static);
- You can't declare more than 5 variables per function;
- ...
  • 42 Norms - Information about 42 code norms. PDF
  • Norminette - Tool to respect the code norm, made by 42. GitHub
  • 42 Header - 42 header for Vim. GitHub

CONTRIBUTING

If you find any issues or have suggestions for improvements, feel free to fork the repository and open an issue or submit a pull request.

LICENSE

This project is available under the MIT License. For further details, please refer to the LICENSE file.