This is an old revision of the document!
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).
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.
mail
.
student
urmăriți indicațiile de aici.
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.
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
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 ====
postfix
. Alegți opțiunile implicite în timpul asistentului de instalare.netstat
)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).alice
, trimiteți un mail catre bob
cu subiectul salutare
(Hint: mail
, curs slide 19)bob
, verificați casuța de mesaje e-mail. Dupa aceasta operatiune, NU inchideti utilitarul mail. (Hint: mail
)?
- semnul întrebării - pentru un ecran de ajutor)contact
care să redirecteze toate mesajele trimise pe adresa sa către utilizatorul alice
. (Hint: /etc/aliases
, newaliases
)contact
și verificați că mesajul a ajuns la alice
. (Hint: mail
)student
să ajungă la utilizatorul bob
. (Hint: ~/.forward
)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) =====
==== Tutorial ====
==== Exerciții ====
mydestination
). Mapați gsr.ro și mail.gsr.ro pe adresa ip 127.0.0.1.student
către alice@gsr.ro
. Verificați în contul lui alice
mesajul primit de la student
.myhostname
să fie mail.gsr.ro
.myorigin
să aibă valoarea directivei myhostname
. (Hint: $myhostname
)alice
către bob@gsr.ro
.bob
. Ce apare trecut în dreptul sursei?===== 3. Configurare Courier IMAP și Maildir (2.5p) =====
==== Tutorial ====
==== Exerciții ====
maildirmake
.maildirmake
. (Hint: apt-file
, grep
)courier
. Alegeți opțiunile default din asistentul de instalare.home_mailbox = Maildir/
mailbox_command =
courier-imap
. Instalarea lui libgamin este necesară datorită bug-ului descris aici http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578937.netstat
)alice
(calea către director va trebui să fie /home/alice/Maildir/
) (Hint: maildirmake
)Maildir/
trebuie să fie deținut de utilizatorul alice
.alice
. Mesajele vor fi trimise, de asemenea, folosind MTA-ul local (localhost).Applications → Internet
.alice@gsr.ro
iar parola va fi cea a utilizatorului alice.gsr.ro
alice@gsr.ro
și verificați că mesajul a ajuns în Thunderbird, în contul lui alice
.===== 4. Configurare suport SASL/TLS în Postfix (3p) =====
==== Tutorial ====
==== Exerciții ====
==== 4.1 Configurați SASL pentru a autentifica utilizatorii care trimit mesaje prin Postfix (2.5p) ====
libsasl2-2
, sasl2-bin
și libsasl2-modules
.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
/etc/sasl2/smtpd.conf
- îl creați dacă nu există) configurați ca metodă de autentificare saslauthd
:pwcheck_method: saslauthd mech_list: plain login
/var/spool/postfix/var/run/saslauthd
. Creați toate componentele căii, dacă acestea nu există./etc/default/saslauthd
schimbați /var/run/saslauthd
în /var/spool/postfix/var/run/saslauthd
./etc/default/saslauthd
schimbați START=no
în START=yes
./etc/default/saslauthd
schimbați MECHANISMS=“pam”
în MECHANISMS=“shadow”
./etc/init.d/saslauthd
)dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd
postfix
la grupul sasl
./etc/init.d/saslauthd
)/etc/init.d/postfix
)alice
(va trebui să configurați clientul pentru a utiliza autentificarea configurată mai devreme)./home/bob/Maildir/new
.==== 4.2 Configurați TLS pentru a deschide conexiuni securizate către Postfix (0.5p) ====
apt-cache
)===== 5. Maildrop (1.5p) =====
==== Tutorial ====
==== Exerciții ====
maildrop
.whereis maildrop
)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)~/.mailfilter
din home-ul utilizatorului bob
pentru ca:Maildir/.big
.alice@gsr.ro
(From: Alice alice@gsr.ro) să fie livrate în directorul Maildir/.alice
.test
să fie livrate în directorul Maildir/.test
.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/
./var/log/mail.log
) pentru descoperirea problemelor.===== Bonus =====
gsr-cs.ro
și gsr-upb.ro
și alias-urile (curs, slide 21):contact@gsr-cs.ro → alice
info@gsr-cs.ro → bob
sales@gsr-upb.ro → alice
office@gsr-upb.ro → bob
gsr-rules.ro
./usr/local/mail/gsr-rules.ro/
.dorin
va avea căsuța poștală, format Maildir, în directorul /usr/local/mail/gsr-rules.ro/dorin/
.*/