Differences

This shows you the differences between two versions of the page.

Link to this comparison view

gsr:laboratoare:laborator-05 [2016/11/10 10:47]
alexandru.carp
gsr:laboratoare:laborator-05 [2016/11/10 13:28] (current)
alexandru.carp [3. Configurare Courier IMAP și Maildir (2.5p)]
Line 1: Line 1:
 +~~SHOWSOLUTION~~
 ====== Laborator 05: Serviciul de e-mail ====== ====== Laborator 05: Serviciul de e-mail ======
  
 ===== 1. Trimiterea și citirea e-mail-urilor local (2p) ===== ===== 1. Trimiterea și citirea e-mail-urilor local (2p) =====
  
-  *Comenzi/​concepte/​fișiere +   ​*[01]. Instalați MTA-ul ''​postfix''​. Alegți opțiunile implicite în timpul asistentului de instalare.
-    *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 +
-</​code>​ +
-  *Verificați căsuța poștală implicită a utilizatorului ''​student''​ (''/​var/​mail/​student''​). +
-<​code>​ +
-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 +
-</​code>​ +
- +
-==== Exerciții ==== +
- +
-  ​*[01]. Instalați MTA-ul ''​postfix''​. Alegți opțiunile implicite în timpul asistentului de instalare.+
 <​solution -hidden -en><​code>​ <​solution -hidden -en><​code>​
 root@mjolnir:​~#​ apt-get install postfix root@mjolnir:​~#​ apt-get install postfix
Line 95: Line 37:
 </​code></​solution>​ </​code></​solution>​
  
-  *[04]. Din contul utilizatorului ''​alice'',​ trimiteți un mail catre ''​bob''​ cu subiectul ''​salutare'' ​(Hint: ''​mail'',​ curs slide 19)+  *[04]. Din contul utilizatorului ''​alice'',​ trimiteți un mail catre ''​bob''​ cu subiectul ''​salutare''​
 <​solution -hidden -en><​code>​ <​solution -hidden -en><​code>​
 alice@mjolnir:​~$ echo "Mesaj de la alice catre bob" | mail -s "​Hello"​ bob alice@mjolnir:​~$ echo "Mesaj de la alice catre bob" | mail -s "​Hello"​ bob
Line 233: Line 175:
  
 ===== 2. Configurări Postfix (2p) ===== ===== 2. Configurări Postfix (2p) =====
- 
-  *Comenzi/​concepte/​fișiere 
-    *postconf 
- 
-==== Tutorial ==== 
- 
-  *N/A 
- 
-==== Exerciții ==== 
  
 <note important>​ <note important>​
-Toate configurările de Postfix vor fi realizate folosind postconf ​(Hint: curs, slide 17)+Toate configurările de Postfix vor fi realizate folosind postconf
 </​note>​ </​note>​
  
Line 338: Line 271:
  
 ===== 3. Configurare Courier IMAP și Maildir (2.5p) ===== ===== 3. Configurare Courier IMAP și Maildir (2.5p) =====
-<​note>​ 
-Nu este subiect de examen! 
-</​note>​ 
-  *Comenzi/​concepte/​fișiere 
-    *maildirmake 
- 
-==== Tutorial ==== 
- 
-  *N/A 
- 
-==== Exerciții ==== 
  
   *[01]. Instalați un pachet care să conțină utilitarul ''​maildirmake''​.   *[01]. Instalați un pachet care să conțină utilitarul ''​maildirmake''​.
Line 427: Line 349:
  
   *[06]. Instalați clientul de e-mail Mozilla Thunderbird.   *[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. 
 <​solution -hidden -en><​code>​ <​solution -hidden -en><​code>​
-root@mjolnir:​~#​ apt-get install ​icedove+root@mjolnir:​~#​ apt-get install ​thunderbird
 </​code></​solution>​ </​code></​solution>​
  
Line 459: Line 380:
 </​code></​solution>​ </​code></​solution>​
  
 +===== 4. Configurari avansate =====
  
-===== 4. Configurare suport SASL/TLS în Postfix (3p) ===== +  ​*[01]. Alias-uri avansate: Configurați domeniile virtuale ''​gsr-cs.ro''​ și ''​gsr-upb.ro''​ și alias-urile:​
- +
-  *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''​. +
-<​solution -hidden -en><​code>​ +
-root@mjolnir:​~#​ apt-get install libsasl2-2 sasl2-bin libsasl2-modules +
-</​code></​solution>​ +
- +
-  *[02]. Configurați Postfix (utilizând ''​postconf''​) pentru a utiliza SASL: +
-<​code>​ +
-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 +
-</​code>​ +
-<​solution -hidden -en><​code>​ +
-root@mjolnir:​~#​ postconf -e '​smtpd_sasl_local_domain =' +
- +
-root@mjolnir:​~#​ postconf -e '​smtpd_sasl_auth_enable = yes' +
- +
-root@mjolnir:​~#​ postconf -e '​smtpd_sasl_security_options = noanonymous'​ +
- +
-root@mjolnir:​~#​ postconf -e '​broken_sasl_auth_clients = yes' +
- +
-root@mjolnir:​~#​ postconf -e '​smtpd_recipient_restrictions = permit_sasl_authenticated,​permit_mynetworks,​reject_unauth_destination'​ +
- +
-root@mjolnir:​~#​ /​etc/​init.d/​postfix restart +
-Stopping Postfix Mail Transport Agent: postfix. +
-Starting Postfix Mail Transport Agent: postfix. +
-</​code></​solution>​ +
- +
-  *[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'':<​code>​ +
-pwcheck_method:​ saslauthd +
-mech_list: plain login +
-</​code>​ +
-<​solution -hidden -en><​code>​ +
-root@mjolnir:​~#​ cat /​etc/​postfix/​sasl/​smtpd.conf +
-pwcheck_method:​ saslauthd +
-mech_list: plain login +
-</​code></​solution>​ +
- +
-  *[04]. Creați directorul ''/​var/​spool/​postfix/​var/​run/​saslauthd''​. Creați toate componentele căii, dacă acestea nu există. +
-<​solution -hidden -en><​code>​ +
-root@mjolnir:​~#​ mkdir -p /​var/​spool/​postfix/​var/​run/​sslauthd +
-</​code></​solution>​ +
- +
-  *[05]. În fișierul ''/​etc/​default/​saslauthd''​ schimbați ''/​var/​run/​saslauthd''​ în ''/​var/​spool/​postfix/​var/​run/​saslauthd''​. +
-<​solution -hidden -en><​code>​ +
-root@mjolnir:​~#​ cat /​etc/​default/​saslauthd | grep /​var/​spool/​postfix/​var/​run/​saslauthd +
-# Example for chroot Postfix users: "-c -m /​var/​spool/​postfix/​var/​run/​saslauthd"​ +
-OPTIONS="​-c -m /​var/​spool/​postfix/​var/​run/​saslauthd"​ +
-</​code></​solution>​ +
- +
-  *[06]. În fișierul ''/​etc/​default/​saslauthd''​ schimbați ''​START=no''​ în ''​START=yes''​. +
-<​solution -hidden -en><​code>​ +
-root@mjolnir:​~#​ cat /​etc/​default/​saslauthd | grep START +
-START=yes +
-</​code></​solution>​ +
- +
-  *[07]. În fișierul ''/​etc/​default/​saslauthd''​ schimbați ''​MECHANISMS="​pam"''​ în ''​MECHANISMS="​shadow"''​. +
-<​solution -hidden -en><​code>​ +
-root@mjolnir:​~#​ cat /​etc/​default/​saslauthd | grep MECHANISMS +
-# Example: MECHANISMS="​pam"​ +
-MECHANISMS="​shadow"​ +
-</​code></​solution>​ +
- +
-  *[08]. Reporniți daemonul de SASL. (Hint: ''/​etc/​init.d/​saslauthd''​) +
-<​solution -hidden -en><​code>​ +
-root@mjolnir:​~#​ /​etc/​init.d/​saslauthd restart +
-Stopping SASL Authentication Daemon: saslauthd. +
-Starting SASL Authentication Daemon: saslauthd. +
-</​code></​solution>​ +
- +
-  *[09]. Rulați comanda<​code>​dpkg-statoverride --add root sasl 710 /​var/​spool/​postfix/​var/​run/​saslauthd</​code>​ +
-<​solution -hidden -en><​code>​ +
-root@mjolnir:​~#​ dpkg-statoverride --add root sasl 710 /​var/​spool/​postfix/​var/​run/​saslauthd +
-</​code></​solution>​ +
- +
-  *[10]. Adaugați utilizatorul ''​postfix''​ la grupul ''​sasl''​. +
-<​solution -hidden -en><​code>​ +
-root@mjolnir:​~#​ usermod -a -G sasl postfix +
- +
-root@mjolnir:​~#​ groups postfix +
-postfix : postfix sasl +
-</​code></​solution>​ +
- +
-  *[11]. Reporniți daemonul de SASL. (Hint: ''/​etc/​init.d/​saslauthd''​) +
-<​solution -hidden -en><​code>​ +
-root@mjolnir:​~#​ /​etc/​init.d/​saslauthd restart +
-Stopping SASL Authentication Daemon: saslauthd. +
-Starting SASL Authentication Daemon: saslauthd. +
-</​code></​solution>​ +
- +
-  *[12]. Reporniți daemonul Postfix. (Hint: ''/​etc/​init.d/​postfix''​) +
-<​solution -hidden -en><​code>​ +
-root@mjolnir:​~#​ /​etc/​init.d/​postfix restart +
-Stopping Postfix Mail Transport Agent: postfix. +
-Starting Postfix Mail Transport Agent: postfix. +
-</​code></​solution>​ +
- +
-  *[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 +
-<​solution -hidden -en><​code>​ +
-  *Edit -> Account Settings -> Outgoing Server -> Edit +
-    *Description:​ gsr.ro +
-    *Server Name: gsr.ro +
-    *Port:25 +
-    *Connection Security: STARTTLS +
-    *Authentication method: Normal password +
-    *User Name: alice +
-</​code></​solution>​ +
- +
-  *[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''​. +
-<​solution -hidden -en><​code>​ +
-bob@mjolnir:​~/​Maildir/​new$ ls -l +
-total 4 +
--rw------- 1 bob bob 603 Dec 14 23:11 1323897107.V1aI277M588830.mjolnir +
- +
-bob@mjolnir:​~/​Maildir/​new$ cat 1323897107.V1aI277M588830.mjolnir  +
-Return-Path:​ <​alice@gsr.ro>​ +
-X-Original-To:​ bob@gsr.ro +
-Delivered-To:​ bob@gsr.ro +
-Received: from [127.0.0.1] (localhost [127.0.0.1]) +
- by gsr.ro (Postfix) with ESMTPSA id 8B3686F +
- for <​bob@gsr.ro>;​ Wed, 14 Dec 2011 23:11:47 +0200 (EET) +
-Message-ID: <​4EE9110F.1010104@gsr.ro>​ +
-Date: Wed, 14 Dec 2011 23:11:43 +0200 +
-From: Alice <​alice@gsr.ro>​ +
-User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:​1.9.2.24) Gecko/​20111114 Icedove/​3.1.16 +
-MIME-Version:​ 1.0 +
-To: bob@gsr.ro +
-Subject: From alice within Thunderbird +
-Content-Type:​ text/plain; charset=ISO-8859-1;​ format=flowed +
-Content-Transfer-Encoding:​ 7bit +
- +
-Hello +
-</​code></​solution>​ +
- +
- +
-==== 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''​) +
-<​solution -hidden -en><​code>​ +
-root@mjolnir:​~#​ apt-cache search courier | grep ssl +
-courier-imap-ssl - Courier mail server - IMAP over SSL +
-courier-mta-ssl - Courier mail server - ESMTP over SSL +
-courier-pop-ssl - Courier mail server - POP3 over SSL +
-courier-ssl - Courier mail server - SSL/TLS Support +
- +
-root@mjolnir:​~#​ apt-get install courier-imap-ssl +
-</​code></​solution>​ +
- +
-  *[02]. Configurați Thunderbird pentru a folosi configura conexiunea criptată către serverul de IMAP. +
-    *[02].a. Edit -> Account Settings -> Server Settings -> Connection security +
-<​solution -hidden -en><​code>​ +
-  *Edit -> Account Settings -> Server Settings -> Connection security -> SSL/TLS +
-</​code></​solution>​ +
- +
-  *[03]. Verificați configurarea anterioară trimițând un email de la bob către alice@gsr.ro. Email-ul trebuie să sosească în Thunderbird. +
-<​solution -hidden -en><​code>​ +
-bob@mjolnir:​~$ echo "Mesaj de la bob catre alice@gsr.ro - SSL" | mail -s "Test Thunderbird"​ alice@gsr.ro +
-</​code></​solution>​ +
- +
- +
-===== 5. Maildrop (1.5p) ===== +
- +
-  *Comenzi/​concepte/​fișiere +
-    *N/A +
- +
-==== Tutorial ==== +
- +
-  *http://​www.courier-mta.org/​maildropex.html +
- +
-==== Exerciții ==== +
- +
-  *[01]. Instalați pachetul ''​maildrop''​. +
-<​solution -hidden -en><​code>​ +
-root@mjolnir:​~#​ apt-get install maildrop +
-</​code></​solution>​ +
- +
-  *[02]. Configurați Postfix pentru a folosi Maildrop. (Hint: http://​www.postfix.org/​MAILDROP_README.html#​indirect;​ curs, slide-ul 27; ''​whereis maildrop''​) +
-<​solution -hidden -en><​code>​ +
-root@mjolnir:​~#​ postconf -e '​mailbox_command = /​usr/​bin/​maildrop -d $USER'​ +
- +
-root@mjolnir:​~#​ /​etc/​init.d/​postfix restart +
-Stopping Postfix Mail Transport Agent: postfix. +
-Starting Postfix Mail Transport Agent: postfix. +
-</​code></​solution>​ +
- +
-  *[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) +
-<​solution -hidden -en><​code>​ +
-File -> New -> Mail Account +
-</​code></​solution>​ +
- +
-  *[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. +
-<​solution -hidden -en><​code>​ +
-bob@mjolnir:​~$ cat .mailfilter +
-MAILDIR=$HOME/​Maildir +
- +
- +
-if ( /^From: Alice <​alice@gsr.ro>/​ )  +
-+
-        to $MAILDIR/​.alice +
-}  +
-if ( $LINES > 3 ) +
-+
-        to $MAILDIR/​.big +
-+
- +
-if ( /^Subject: .*test.* /) +
-+
-        to $MAILDIR/​.test +
-+
- +
-to $MAILDIR/ +
-</​code></​solution>​ +
- +
- +
-===== 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].a. ''​contact@gsr-cs.ro -> alice''​
   *[01].b. ''​info@gsr-cs.ro -> bob''​   *[01].b. ''​info@gsr-cs.ro -> bob''​
Line 751: Line 434:
 </​code></​solution>​ </​code></​solution>​
  
-  *[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)+  *[03]. Configurați suport de căsuțe poștale virtuale în Courier pentru căsuțele poștale create mai sus.
 <​solution -hidden -en><​code>​ <​solution -hidden -en><​code>​
 root@mjolnir:​~#​ cat /​etc/​courier/​authdaemonrc | grep "​authmodulelist="​ root@mjolnir:​~#​ cat /​etc/​courier/​authdaemonrc | grep "​authmodulelist="​
gsr/laboratoare/laborator-05.1478767665.txt.gz · Last modified: 2016/11/10 10:47 by alexandru.carp
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