Skip to main content

Cyber AI România

Cum îți faci un portofoliu Linux pentru primul job în IT sau cybersecurity

Un portofoliu Linux bun nu este o colecție de capturi cu ls, pwd și neofetch. Angajatorul trebuie să vadă că poți instala, configura, securiza, verifica și repara un sistem. Fiecare proiect trebuie să prezinte problema, arhitectura laboratorului, comenzile folosite, rezultatul și metoda de recuperare.

Competențele evaluate în certificarea practică LFCS includ operațiuni și deployment, networking, storage, comenzi esențiale, utilizatori, grupuri și ACL-uri. Examenul este bazat pe sarcini executate direct în terminal, apropiate de situații reale de administrare. Aceste domenii reprezintă și o structură bună pentru portofoliu.

Pregătește profilul GitHub

Creează un repository public cu același nume ca utilizatorul tău GitHub și adaugă în rădăcină un fișier README.md. GitHub poate afișa automat acest README în partea superioară a profilului.

În profil scrie concret:

Junior Linux / Cybersecurity
Ubuntu Server, Debian, Bash, Git, Docker
Interes: system administration, blue team, cloud support
Laborator: VirtualBox, rețea izolată, snapshot-uri

Fixează pe profil cele mai bune proiecte, nu toate exercițiile. GitHub permite selectarea a până la șase repository-uri sau gist-uri pentru secțiunea „Pinned”.

Proiectul 1: server Linux configurat și securizat

Instalează Ubuntu Server sau Debian într-o mașină virtuală și documentează următoarele:

utilizator administrativ separat
SSH cu cheie
login root dezactivat
UFW configurat
Nginx instalat
actualizări automate de securitate
backup pentru /etc și /var/www
snapshot înainte de schimbările importante

Repository recomandat:

linux-server-baseline/
├── README.md
├── configs/
│   ├── nginx-site.conf
│   ├── ssh-hardening.conf
│   └── ufw-rules.txt
├── scripts/
│   └── health-check.sh
├── evidence/
│   ├── services.txt
│   ├── ports.txt
│   └── firewall.txt
└── recovery/
    └── restore-procedure.md

Generează dovezile fără a publica IP-uri reale sau chei:

systemctl --failed > evidence/services.txt
ss -tulpen > evidence/ports.txt
sudo ufw status verbose > evidence/firewall.txt

README-ul trebuie să explice ce ai configurat, de ce ai ales acele reguli și cum verifici rezultatul.

Proiectul 2: jurnal de troubleshooting

Creează cinci incidente controlate într-o mașină virtuală:

  • Nginx oprit;
  • configurație Nginx cu eroare de sintaxă;
  • folder fără permisiuni corecte;
  • partiție de test aproape plină;
  • serviciu care nu ascultă pe portul așteptat.

Pentru fiecare incident, documentează:

Simptom observat
Ipoteze
Comenzi de diagnostic
Cauza identificată
Soluția aplicată
Verificarea finală
Metoda de revenire

Exemplu:

systemctl status nginx
sudo nginx -t
journalctl -u nginx -n 100
ss -tulpen | grep ':80'
curl -I http://localhost

Nu publica doar soluția. Arată ordinea verificărilor. Asta demonstrează că poți investiga metodic, nu doar copia comenzi.

Proiectul 3: script Bash pentru verificarea serverului

Scrie un script care verifică:

spațiul pe disc;
memoria disponibilă;
serviciile obligatorii;
porturile așteptate;
necesitatea unui restart;
rezultatele într-un fișier log.

Repository-ul trebuie să includă scriptul, un exemplu de raport și instrucțiuni de rulare:

bash -n server-check.sh
shellcheck server-check.sh
./server-check.sh
echo "$?"

Folosește coduri de ieșire: 0 pentru rezultat normal și o valoare diferită pentru avertizare sau eroare. Nu include parole, tokenuri ori adrese de producție.

Proiectul 4: aplicație web cu Docker Compose

Construiește o aplicație simplă cu două servicii, de exemplu o aplicație web și Redis sau MariaDB. Include:

Dockerfile
compose.yaml
.dockerignore
.env.example
healthcheck
volum persistent
comenzi de pornire și oprire
procedură de depanare

Docker Compose definește serviciile, rețelele și volumele într-un fișier YAML și permite pornirea întregului stack printr-o singură comandă. Documentația oficială include și verificări de sănătate, volume persistente, loguri și depanarea serviciilor.

Nu publica fișierul .env. Pune doar .env.example, cu valori fictive.

Adaugă automatizare cu Ansible

Ca proiect suplimentar, automatizează instalarea Nginx, configurarea firewall-ului și copierea unei pagini web. Ansible folosește un inventory pentru definirea hosturilor și grupurilor administrate.

Include:

inventory.ini
playbook.yml
templates/
README.md
captură a rulării reușite

Un portofoliu credibil are trei-patru proiecte terminate, documentate și reproductibile. Nu încerca să impresionezi cu zeci de tehnologii. Demonstrează că poți construi un sistem, îl poți verifica, îl poți strica în siguranță și îl poți recupera.

Surse folosite

Linux Foundation — LFCS, domenii și competențe practice pentru administrarea Linux.
GitHub Documentation — Profile README și repository-uri fixate pe profil.
Docker Documentation — Docker Compose, health checks, volume și depanare.
Ansible Documentation — inventory, hosturi și grupuri administrate.

Facebook
X
WhatsApp

Te-ar putea interesa si: