This is an old revision of the document!


Laborator 08: Servicii diverse

Demo: Inspectarea configurației cron

Pentru a vedea configurația cron a sistemului inspectăm configurațiile din fișierele/directoarele /etc/cron*. Fișierele /etc/cron.d/* și fișierul /etc/crontab conțin configurații standard cron la nivelul sistemului. Liniile de configurare urmează sintaxa crontab așa cum este exemplificată aici.

Pentru a vedea configurația pentru utilizatorul curent folosim comanda

crontab -l

Dacă suntem autentificați ca utilizator privilegiat, putem vizualiza configurația cron pentru un utilizator dat putem folosi comanda

crontab -u <username> -l

unde <username> este numele utilizatorului a cărui configurație dorim să o afișăm.

Pentru a afla job-urile cron active per utilizator putem inspecta, ca utilizator privilegiat, directorul de spooling /var/spool/cron/

sudo tree /var/spool/cron/

În subdirectorul /var/spool/cron/crontabs/ se găsesc job-urile cron active (marcate per utilizator).

Configurare cron cu standard output

Dacă dorim să avem un job care să ruleze periodic vom crea o intrare în crontab-ul utilizatorului curent.

Următorul exercițiu este didactic, ca să putem urmări comportamentul cron.

Comanda de mai jos este folosită pentru a afișa numărul de procese și thread-uri curente la nivelul sistemului:

/bin/echo "Num processes: $(ps -e --no-header | wc -l), num threads: $(ps -eL --no-header | wc -l)"

Folosim calea completă către comanda echo pentru că nu știm cum arată variabila PATH în mediul în care rulează cron.

Adăugați comanda de mai sus să ruleze la fiecare două minute prin alterarea crontab-ului utilizatorului student. După adăugare urmăriți spool-ul cron în /var/spool/cron/crontabs/student.

În urma funcționării corecte, veți primi un e-mail către utilizatorul student cu output-ul comenzii.

Puteți verifica e-mail-ul primit folosind comanda mail.

Pentru crearea intrării în crontab-ul utilizatorului student urmăriți indicațiile de aici.

Alte configurări cron

Actualizați comanda cron de mai sus astfel încât output-ul comenzii să nu mai fie livrat prin e-mail ci să fie adăugat într-un fișier dat. Output-ul să conțină și data la care a fost rulată comanda.

Instalați pachetul debsums. Urmăriți ce configurări de cron sunt adăugate la instalarea pachetului.

Urmăriți conținutului unui pachet instalat folosind comanda

dpkg -L <nume-pachet>
</code
unde ''<nume-pachet>'' este numele pachetului.
</note>

===== Configurare serviciu cron de pornire client Bittorrent =====

Instalați un client de Bittorrent care funcționează în linia de comandă, precum ''transmission-cli'' sau ''bittorrent'' sau ''bittornado'' și porniți-l în background (folosind ''nohup'') ca să descarce un anumit conținut Bittorrent. Găsiți un fișier ''.torrrent'' pe Internet și descărcați-l.

Apoi creați un script care să verifice dacă este pornit clientul Bittorrent pentru acel fișier ''.torrent'' și dacă nu este pornit să-l repornească.

Plasați script-ul în crontab cu verificare la 10 minute.
===== Gestionare client de BitTorrent folosind supervisord =====

Folosiți [[http://supervisord.org/|supervisord]] pentru a porni și gestiona clientul BitTorrent de mai sus.

<note tip>
Urmăriți exemplele de configurare din link-urile de mai jos:
  * https://www.digitalocean.com/community/tutorials/how-to-install-and-manage-supervisor-on-ubuntu-and-debian-vps
  * https://serversforhackers.com/monitoring-processes-with-supervisord
</note>
===== Funcționarea NTP =====

===== Configurare server NTP. Sincronizare sisteme =====

===== Demo: Funcționarea dhclient =====

===== Verificare configurare server de DHCP =====

===== Configurare server de DHCP =====


/*

<note important>
Dacă un pachet nu este instalat iar un exercițiu face referire la acesta, instalați-l.
</note>

===== 1. Trimiterea și citirea e-mail-urilor local (2p) =====

  *Comenzi/concepte/fișiere
    *postfix
    *mail
    * /etc/aliases
    *newaliases
    *.forward

==== Tutorial ====

  *Verificați dacă utilitarul ''mail'' este instalat. Comanda ''mail'' (sau ''mailx'') poate fi folosită pentru transmiterea sau recepționarea de email-uri, din linia de comandă.
  *Folosiți ''mail'' pentru a trimite un mesaj din contul utilizatorului ''root'' către ''student''.
<code>
root@mjolnir:~# echo "Hello" | mail -s hello student
  • Verificați căsuța poștală implicită a utilizatorului student (/var/mail/student).
student@mjolnir:~$ ls -l /var/mail/student
-rw-rw---- 1 student mail 590 Dec 14 20:45 /var/mail/student

student@mjolnir:~$ cat /var/mail/student
From root@mjolnir.labs.cs.pub.ro Wed Dec 14 20:45:00 2011
Return-path: <root@mjolnir.labs.cs.pub.ro>
Envelope-to: student@mjolnir.labs.cs.pub.ro
Delivery-date: Wed, 14 Dec 2011 20:45:00 +0200
Received: from root by mjolnir.labs.cs.pub.ro with local (Exim 4.76)
	(envelope-from <root@mjolnir.labs.cs.pub.ro>)
	id 1Ratp6-0002VY-0X
	for student@mjolnir.labs.cs.pub.ro; Wed, 14 Dec 2011 20:45:00 +0200
To: student@mjolnir.labs.cs.pub.ro
Subject: hello
Message-Id: <E1Ratp6-0002VY-0X@mjolnir.labs.cs.pub.ro>
From: root <root@mjolnir.labs.cs.pub.ro>
Date: Wed, 14 Dec 2011 20:45:00 +0200

Hello


student@mjolnir:~$ mail
Mail version 8.1.2 01/15/2001.  Type ? for help.
"/var/mail/student": 1 message 1 new
>N  1 root@mjolnir.labs  Wed Dec 14 20:43   16/590   hello
& 1
Message 1:
From root@mjolnir.labs.cs.pub.ro Wed Dec 14 20:43:19 2011
Envelope-to: student@mjolnir.labs.cs.pub.ro
Delivery-date: Wed, 14 Dec 2011 20:43:19 +0200
To: student@mjolnir.labs.cs.pub.ro
Subject: hello
From: root <root@mjolnir.labs.cs.pub.ro>
Date: Wed, 14 Dec 2011 20:43:19 +0200

Hello

& q
Saved 1 message in /home/student/mbox

==== Exerciții ====

  • [01]. Instalați MTA-ul postfix. Alegți opțiunile implicite în timpul asistentului de instalare.
  • [02]. Inspectând conexiunile TCP active, aflați portul pe care ascultă serverul de mail conexiuni. (Hint: netstat)
  • [02].a Cum se numește executabilul asociat?
  • [03]. Adăugați utilizatorii alice, bob și charlie pe mașina fizică (adăugați utilizatorii în grupuri omonime, creați-le directoare home și specificați /bin/bash ca shell implicit).
  • [04]. Din contul utilizatorului alice, trimiteți un mail catre bob cu subiectul salutare (Hint: mail, curs slide 19)
  • [05]. Din contul utlizatorului bob, verificați casuța de mesaje e-mail. Dupa aceasta operatiune, NU inchideti utilitarul mail. (Hint: mail)
  • [06]. Răspundeți (reply) la mesaj. Verificați că reply-ul a ajuns în contul lui alice. (Folosiți ? - semnul întrebării - pentru un ecran de ajutor)
  • [07]. Configurați un alias denumit contact care să redirecteze toate mesajele trimise pe adresa sa către utilizatorul alice. (Hint: /etc/aliases, newaliases)
  • [08]. Trimiteți un e-mail de la bob la contact și verificați că mesajul a ajuns la alice. (Hint: mail)
  • [09]. Realizați un forward local (configurat din home-ul utilizatorului) astfel încât toate mesajele care sunt destinate utilzatorului student să ajungă la utilizatorul bob. (Hint: ~/.forward)
  • [10]. Trimiteți un e-mail de la alice către student, având la CC pe charlie. Verificați conturile de mail ale utilizatorilor student, bob și charlie.

===== 2. Configurări Postfix (2p) =====

  • Comenzi/concepte/fișiere
    • postconf

==== Tutorial ====

  • N/A

==== Exerciții ====

Toate configurările de Postfix vor fi realizate folosind postconf (Hint: curs, slide 17)

  • [01]. Configurați Postfix astfel încât mesajele către gsr.ro să fie stocate local (Hint: mydestination). Mapați gsr.ro și mail.gsr.ro pe adresa ip 127.0.0.1.
  • [02]. Testați funcționarea directivei trimițând un email de la student către alice@gsr.ro. Verificați în contul lui alice mesajul primit de la student.
  • [03]. Configurați Postfix astfel încât directiva myhostname să fie mail.gsr.ro.
  • [04]. Configurați Postfix astfel încât directiva myorigin să aibă valoarea directivei myhostname. (Hint: $myhostname)
  • [05]. Testați funcționarea configurărilor anterioare trimițând un email de la alice către bob@gsr.ro.
  • [05].a. Verificați mesajul primit de bob. Ce apare trecut în dreptul sursei?

===== 3. Configurare Courier IMAP și Maildir (2.5p) =====

Nu este subiect de examen!

  • Comenzi/concepte/fișiere
    • maildirmake

==== Tutorial ====

  • N/A

==== Exerciții ====

  • [01]. Instalați un pachet care să conțină utilitarul maildirmake.
  • [01].a. Căutați toate pachetele care conțin fișierul din /bin maildirmake. (Hint: apt-file, grep)
  • [01].b. Din lista de pachete găsită instalați pachetul de bază pentru courier. Alegeți opțiunile default din asistentul de instalare.
  • [02]. Configurați suportul de Maildir în Postfix. (Hint: curs, slide 22)
  • [02].a. home_mailbox = Maildir/
  • [02].b. mailbox_command =
  • [04]. Inspectând conexiunile active, aflați portul pe care ascultă daemonul de IMAP. (Hint: netstat)
  • [05]. Creați un director de tip Maildir în home-ul utilizatorului alice (calea către director va trebui să fie /home/alice/Maildir/) (Hint: maildirmake)
  • [05].a. Atenție: După creare, directorul Maildir/ trebuie să fie deținut de utilizatorul alice.
  • [06]. Instalați clientul de e-mail Mozilla Thunderbird.
  • [06].a. Hint: în Debian, Thunderbird a fost redenumit. Va trebui să găsiți numele pachetului care îl conține.
  • [07]. Configurați Thunderbird pentru a se conecta la serverul de IMAP local (localhost), în contul utilizatorului alice. Mesajele vor fi trimise, de asemenea, folosind MTA-ul local (localhost).
    • [07].a. Pentru pornirea clientului folosiți meniul Applications → Internet.
    • [07].b. În Mail Account Setup folosiți butonul Manual Setup pentru a configura contul lui alice în mod avansat
      • [07].b.1. Adresa de email folosită va fi alice@gsr.ro iar parola va fi cea a utilizatorului alice.
      • [07].b.2. Server name va fi gsr.ro
      • [07].b.3 Connection security: none
      • [07].b.4 Authentication method: Password, transmitted insecurely
  • [08]. Trimiteți un e-mail de la bob către alice@gsr.ro și verificați că mesajul a ajuns în Thunderbird, în contul lui alice.

===== 4. Configurare suport SASL/TLS în Postfix (3p) =====

  • Comenzi/concepte/fișiere
    • N/A

==== Tutorial ====

  • N/A

==== Exerciții ====

==== 4.1 Configurați SASL pentru a autentifica utilizatorii care trimit mesaje prin Postfix (2.5p) ====

  • [01]. Instalați pachetele libsasl2-2, sasl2-bin și libsasl2-modules.
  • [02]. Configurați Postfix (utilizând postconf) pentru a utiliza SASL:
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
#smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_recipient_restrictions = permit_sasl_authenticated,reject_unauth_destination
  • [03]. În fișierul de configurare pentru SMTP (/etc/sasl2/smtpd.conf - îl creați dacă nu există) configurați ca metodă de autentificare saslauthd:
    pwcheck_method: saslauthd
    mech_list: plain login
  • [04]. Creați directorul /var/spool/postfix/var/run/saslauthd. Creați toate componentele căii, dacă acestea nu există.
  • [05]. În fișierul /etc/default/saslauthd schimbați /var/run/saslauthd în /var/spool/postfix/var/run/saslauthd.
  • [06]. În fișierul /etc/default/saslauthd schimbați START=no în START=yes.
  • [07]. În fișierul /etc/default/saslauthd schimbați MECHANISMS=“pam” în MECHANISMS=“shadow”.
  • [08]. Reporniți daemonul de SASL. (Hint: /etc/init.d/saslauthd)
  • [09]. Rulați comanda
    dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd
  • [10]. Adaugați utilizatorul postfix la grupul sasl.
  • [11]. Reporniți daemonul de SASL. (Hint: /etc/init.d/saslauthd)
  • [12]. Reporniți daemonul Postfix. (Hint: /etc/init.d/postfix)
  • [13]. Reconfigurați Thunderbird pentru a putea trimite mail-uri din contul alice (va trebui să configurați clientul pentru a utiliza autentificarea configurată mai devreme).
  • [13].a. O configurare corectă a suportului de SASL în Postfix va duce la solicitarea introducerii parolei în momentul transmiterii mesajului.
  • [13].b. Edit → Account Settings → Outgoing Server
  • [13].c. Outgoing server name: gsr.ro
  • [14]. Trimiteți din Thunderbird, contul lui alice, un email către bob@gsr.ro. Verificați sosirea mesajului în directorul /home/bob/Maildir/new.

==== 4.2 Configurați TLS pentru a deschide conexiuni securizate către Postfix (0.5p) ====

  • [01]. Adaugati suport SSL pentru Courier IMAP. (Hint: apt-cache)
  • [02]. Configurați Thunderbird pentru a folosi configura conexiunea criptată către serverul de IMAP.
    • [02].a. Edit → Account Settings → Server Settings → Connection security
  • [03]. Verificați configurarea anterioară trimițând un email de la bob către alice@gsr.ro. Email-ul trebuie să sosească în Thunderbird.

===== 5. Maildrop (1.5p) =====

  • Comenzi/concepte/fișiere
    • N/A

==== Tutorial ====

==== Exerciții ====

  • [01]. Instalați pachetul maildrop.
  • [03]. Adăugați contul bob în Thunderbird asociat utilizatorului bob de pe stația locală. Setările sunt aceleași cu ale contului lui alice (imap STARTTLS, postfix SSL/TLS)
  • [04]. Configurați fișierul ~/.mailfilter din home-ul utilizatorului bob pentru ca:
  • [04].a. mesajele care au mai mult de 3 linii să fie livrate în directorul Maildir/.big.
  • [04].b. mesajele care vin de la alice@gsr.ro (From: Alice alice@gsr.ro) să fie livrate în directorul Maildir/.alice.
  • [04].c. mesajele care conțin în subiect șirul test să fie livrate în directorul Maildir/.test.
  • [04].d. Hint: Curs, slide 28
  • [04].e. Hint: Creați directoarele big, alice și test ca subdirectoare ale Inbox în interfața Thunderbird. Consecința este crearea (folosind IMAP) a directoarelor .big, .alice și .test în Maildir/.
  • [04].f. Hint: Urmăriți log-urile (/var/log/mail.log) pentru descoperirea problemelor.

===== Bonus =====

  • [01]. Alias-uri avansate: Configurați domeniile virtuale gsr-cs.ro și gsr-upb.ro și alias-urile (curs, slide 21):
  • [01].a. contact@gsr-cs.ro → alice
  • [01].b. info@gsr-cs.ro → bob
  • [01].c sales@gsr-upb.ro → alice
  • [01].d. office@gsr-upb.ro → bob
  • [02]. Configurați căsuțe postale virtuale cu utilizatori non-unix pentru domeniul gsr-rules.ro.
  • [02].a. Directorul de bază pentru căsuțele poștare virtuale este /usr/local/mail/gsr-rules.ro/.
  • [02].b. Utilizatorul dorin va avea căsuța poștală, format Maildir, în directorul /usr/local/mail/gsr-rules.ro/dorin/.
  • [03]. Configurați suport de căsuțe poștale virtuale în Courier pentru căsuțele poștale create mai sus. (Hint: curs, slide 25)

*/

gsr/laboratoare/laborator-08.1449753429.txt.gz · Last modified: 2015/12/10 15:17 by razvan.deaconescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0