About • Mandatory • Bonus • Norminette • Contributing • License
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.
- Subject
PDF
- References
GitHub
During the evaluation, I was asked questions about the topics below;
- Choose between two Linux-based operating systems:
Rocky
orDebian
; - Create at least 2 encrypted partitions using
LVM
; - Ensure
SSH services
are running on specific ports; - Configure a
UFW firewall
and leave only port4242
open; - Set up the
hostname
(will be changed during evaluation) and a strongpassword policy
for all users; - Set up a strong
sudo
configuration; - Create a
monitoring script
that displays specific information every 10 minutes at server startup;
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
andPHP
; - Set up a service of my own choice that I think is useful (justify that choice);
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
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.
This project is available under the MIT License. For further details, please refer to the LICENSE file.