This is an old revision of the document!
Laborator 12 - Recapitulare
Pachete
Listati pachetele din repository-ul implicit debian care incep cu sirul “di”.
Instalati pachetul zim fara a fi nevoiti sa raspundeti la confirmarea instalarii.
Instalati pachetul nmap.
Dezinstalați pachetul nmap. Descarcati local pachetul .deb asosciat utilitarului nmap.
Instalati pachetul .deb asociat utilitarului nmap folosind dpkg.
Descărcați folosind apt-get sursele pachetului libssh2-1.
Descarcati de pe site-ul de baza ultimele surse ale utilitarului transmission.
Instalati pachetul build-essential.
Compilati din surse utilitarul transmission.
Instalati pachetul apache2.
Ce pachete au fost instalate? (cautati dupa '*apache*')
Ce fisiere contine pachetul apache2.2-common?
Ce utilitar este folosit pentru a cauta un fisier in pachetele din repository? (Hint: 'package searching')
Ce pachet contine fisierul header gdk.h?
Low-level și hardware
Care sunt fisierele de tip block device asociate hard disk-urilor si CD-ROM drive-urile din sistem?
Afisati dispozitivele PCI si USB ale sistemului.
Listati intreruperile folosite de sistem.
Ce rol are dispozitivul /dev/full?
Comenzi de bază
Folositi head si tail pentru a afisa:
primele 5 linii din fisierul /etc/passwd
ultimele 5 linii din fisierul /etc/passwd
totul mai putin ultimele 5 linii din fisierul /etc/passwd
totul mai putin primele 5 linii din fisierul /etc/passwd
pentru documentare folositi man head, man tail, info coreutils head, info coreutils tail (opțiunea -n)
Afisati primele 10 linii din fisierul /etc/services impreuna cu numarul acestora.
Afisati pagina de manual a functiei C printf.
Afisati pid-ul,ppid-ul si comanda completa pentru toate procesele din sistem.
Folositi ps pentru a sorta procesele din sistem dupa memoria folosita (rss).
Folositi o singura comanda pentru a omori toate procesele apache2 din sistem.
Deschideti pagina de manual care indica tipurile de socketi de pe un sistem Linux. (Hint: find, socket, /usr/share/man)
Discuri și sisteme de fișiere
Adaugati un disc de 400MB masinii virtuale. Porniti masina virtuala.
Creati 2 partitii primare de 200MB din noul disc.
Formatati prima partitie folosind ext4 si pe a doua folosind ext3.
Configurati partitia ext3 pentru a nu fi niciodata verificata consistenta folosind fsck.
Configurati sistemul pentru a monta cele doua partitii in /mnt/pt1 si /mnt/pt2 la boot-are.
Instalati ultima versiune de kernel Linux disponibila in repository. Verificati ca a fost instalata inspectand fisierul de configurare al GRUB.
Configurati sistemul sa boot-eze implicit dupa vechea versiune. Reporniti sistemul. Verificati ca partitiile au fost montate automat.
Creati fisierul temp.dat de 100MB. Configurati-l ca fisier swap si activati-l.
Determinati cat spatiu ocupa directorul /boot.
Drepturi pe sistemul de fișiere
Creati fisierul a.txt cu drepturile in forma r w s - - s - w t.
Creati un hard-link b.txt catre a.txt.
Creati un soft link c.txt catre b.txt.
Schimbati detinatorul fisierului a.txt in root, grupul adm.
Schimbati drepturile fisierelor din /usr/share/man in rw-rw-r– si a directoarelor in rwxrwxr-x. (Hint: folosiți opțiunea X pentru drepturi a chmod și opțiunea de recursivitate)
Adaugati pe masina virtuala utilizatorul tudor. Adaugati cota pentru acesta la 100
MB si 200 de fisiere.
Kernel
Shell scripting
Creati un script care trimite mesajul “ana are mere” utilizatorilor specificati in fisierul dest.txt
Calculati spatiul ocupat de fisierele cu extensia .conf din /etc. (Hint: stat)
Creați un script care ordonează fișierele din /usr/include
în funcție de numărul de funcții declarate. Scriptul va afișa numărul de funcții declarate și numele fișierului header.
Gestiunea utilizatorilor
Adaugati in sistem grupul users.
Adaugati in sistem utilizatorii bianca si cosmin in grupul users si home-ul in /home/users/bianca si /home/users/cosmin.
Configurati cron pentru a adauga un mesaj la sfarsitul fisierului /home/users/bianca/cron.txt la fiecare minut.
Servicii web
Verificați funcționarea serverului apache conectandu-vă folosind telnet pe portul local 80.
Configurați serverul Apache să asculte conexiuni pe portul 8080 (/etc/apache2/ports.conf). Nu uitați să reporniți serviciul. Verificați folosind netstat și un browser.
Reconfigurați portul pe care ascultă Apache la valoarea implicită.
Verificați statusul modulului apache userdir. Ce face acest modul? Daca nu este activat, activați-l.
Creați o pagină numită index.html în /home/student/public_html, cu textul “my first public page”. Accesați-o folosind un borwser web.
Configurați Apache astfel încat directorul web pentru fiecare utilizator să fie /home/$USER/www. Nu uitați să reporniți serviciul.
Creați o pagina numită index.html în /home/student/www, cu textul “my second public page”. Accesați-o folosind un borwser web.
Servicii SSH
Configurați serverul SSH să asculte conexiuni pe portul 2222 (/etc/ssh/sshd_config). Nu uitați să reporniți serviciul. Verificați folosind netstat și ssh.
Creați utilizatorii horia și ioana. Configurați sistemul astfel încât horia să se conecteze la contul ioana prin SSH fără a îi fi solicitată parola (chei publice).
Configurați sistemul local astfel încât comanda ping cs.pub.ro să ducă la interogarea sistemului cu adresa 141.85.37.25.
Servicii de file sharing
Configurați SAMBA pe sistemul fizic pentru a partaja directorul /share-write cu drepturi complete (read-write) pentru toți utilizatorii. Testați folosind mașina virtuală.
Configurați SAMBA pe sistemul fizic pentru a partaja directorul /var/smb cu drepturi complete (read-write) pentru utilizatorul student. Orice alt utilizator va avea drepturi de citire.
Configurați NFS pe sistemul fizic astfel încât directorul /export să fie montat cu drepturi complete de pe mașina virtuală.
Configurați daemon-ul de rsync pe sistemul fizic. Folosiți rsync pentru a sincroniza, fără parolă, directorul /home/student/share de pe sistemul fizic pe mașina virtuală (nu contează cu ce utilizator).
Servicii de e-mail
Configurați Postfix astfel încât mesajele livrate către contact@info.ro să ajungă în căsuța poștală de tip Maildir/ a utilizatorului andrei.
Configurați Postfix astfel încât mesajele către postmaster@info.ro să ajungă în căsuța poștală virtuală /usr/local/mail/info.ro/postmaster/.
Configurați Maildrop astfel încât mesajele transmise către andrei@test.com care au ca sursă root@test.com să ajungă în directorul directorul root/ din Inbox-ul căsuței poștale de tip Maildir a utilizatorului andrei.
Securitate
Limitați dimensiunea maximă a fișierelor pe care le poate crea utilizatorul ioana la 50MB.
Adaugați utilizatorul alice. Limitați numarul de procese pe care le poate porni alice la 5. Autentificați ca alice, porniți 5 instanțe ale htop (daca htop nu este instalat, instalați-l).
Limitați numărul maxim de autentificări simultane pentru utilizatorii din grupul users la 2.
Filtrați traficul HTTP și SSH emis de stația voastră către anaconda.cs.pub.ro
Restricționați accesul la toate porturile din sistem, mai putin 2222 și 80. Testați functionarea filtrului utilizand telnet.
Deschideti portul 2022, pentru a putea fi accesat.
Configurați “port forwarding” astfel încât la accesarea portului 2022 de pe mașina fizică, conexiunea să fie redirectată către portul 22 al mașinii virtuale. Testați folosind ssh.