<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2523" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#cee3ea>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>Salve sono Matteo avrei bisogno di avere degli
script che non riesco proprio a fare (sono degli esercizi del corso di sistemi
operativi e sono ancora all'inizio con questo tipo di
programmazione).</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<OL>
<LI>
<H3>Svecchiamento del contenuto di un direttorio</H3>
<P>Utilizzando come base dell'implementazione il comando di shell <B>mv</B>,
per spostare file e direttori da un direttorio all'altro, si realizzi un
comando di ripulitura <B>purge</B> del contenuto del direttorio (passato come
secondo parametro) nel cestino <FONT color=teal>.wastebasket</FONT>,
posizionato nella <I>home directory</I> in base alla data dell'ultima modifica
così come apppare dall'esecuzione del comando <B>ls -l</B> di <I>long
listing</I>.
<P>La sintassi generale del comndo da implementare deve seguire lo schema
riportato di seguito
<TABLE cellSpacing=2 cellPadding=2 align=center border=0>
<TBODY>
<TR>
<TD><FONT size=4><B>purge</B> [<B>-</B>opt1 [<B>-</B>opt2 ...]]
<I>date</I> <I>dir</I></FONT> </TD></TR>
<TR>
<TD width=6></TD>
<TR></TR></TBODY></TABLE>
<P>dove le opzioni <I>opt1</I>, <I>opt2</I>, ... sono le stesse del comando
<B>mv</B>, mentre <I>date</I> rappresenta la data in base alla quale tutti i
file e directory la cui data di ultima modifica è inferiore ad essa, devono
essere spostati nel cestino.
<P>Si impieghi il parametro <B>$*</B> per rappresentare la lista dei parametri
passati al comando in questione. Inoltre, se lo si ritiene opportuno, si
utilizzi <B><FONT color=fuchsia>ls -l --time-style=+'FORMAT'</FONT></B> come
comando di listing, dove <I>FORMAT</I> è lo stesso di quello specificato dal
comando <B>date</B>.
<P>
<P></P>
<LI>
<H3>Archiviazione e Compressione</H3>
<P>Utilizzando come base dell'implementazione il comando di shell <B>tar</B>,
per archiviare file e direttori, si realizzi il comando di compressione
<B>pkz</B> dei file e directory passati come parametri rimanenti.
<P>La sintassi generale del comando da implementare deve seguire lo schema
riportato di seguito
<TABLE cellSpacing=2 cellPadding=2 align=center border=0>
<TBODY>
<TR>
<TD><FONT size=4><B>pkz</B>
<B>c</B>|<B>l</B>|<B>x</B>|<B>i</B> [<B>-</B>opt
...] <B><FONT color=navy>pkzfile</FONT></B> <I>file</I> ...
<I>dir</I> ...</FONT> </TD></TR>
<TR>
<TD width=6></TD>
<TR></TR></TBODY></TABLE>
<P>dove il primo parametro, indicato con una delle 4 lettere <B>c</B>,
<B>l</B>, <B>x</B> o <B>i</B>, rappresenta una delle azioni <FONT
color=red>create </FONT>, <FONT color=red>list</FONT>, <FONT
color=red>extract</FONT> oppure <FONT color=red>insert</FONT>, i successivi
<I>opt</I>, ... le opzioni (le stesse del comando <B>tar</B>). Il parametro
successivo <FONT color=teal>pkzfile</FONT> definisce l'archivio compresso nel
quale sono inseriti i rimanenti parametri <I>file</I> ... <I>dir</I> ... .
<P>Si ricordi che la compressione dell'archivio <I>tar</I> si ottiene passando
il flag <B>z</B> al comando <FONT color=fuchsia>tar</FONT>. Si consulti,
inoltre, il manuale in linea del comando per i dettagli del suo utilizzo.
<P>
<P></P>
<LI>
<H3>Autorizzazione d'Accesso</H3>
<P>Si consideri il problema di gestire l'accesso controllato ad un server
remoto per mezzo di un meccanismo di autenticazione che richieda una <FONT
color=gold>username</FONT> e una <FONT color=gold>password</FONT>, specifici
per ciascuno degli utenti autorizzati. La richiesta di accesso avviene
mediante la pagina HTML <FONT color=navy>login.html</FONT> che deve contenere
obbligatoriamente i campi <B>uname</B> e <B>passwd</B>.
<P>Si realizzi lo script CGI bash <FONT color=navy>login.cgi</FONT> in modo da
poter verificare l'identità dell'utente ed, eventualmente, consentirne
l'accesso. Si preveda, inoltre, la possibilità per gli utenti non registrati
di poterlo fare, utilizzando lo stesso schema di "form" con ulteriori campi da
compilare per generare un nuovo utente da autorizzare.
<P>Si ternga presente che è necessario mantenere il database <FONT
color=red>passwd.db</FONT> contenente le informazioni rilevanti per ciascun
utente autorizzato. Lo si implementi come un file di testo, una riga per
utente, così strutturato
<CENTER><B><FONT color=navy>uname</FONT>:<FONT color=#f000a0>passwd</FONT>:
<FONT color=olive>name</FONT>:<FONT color=teal>surname</FONT>: <FONT
color=magenta>info</FONT></B><BR><SUB> </SUB> </CENTER>ed, inoltre, in
caso di successo al <I>login</I> o in <I>fase di registrazione</I> si produca
un'adeguata pagina di risposta. Si utilizzi il campo info a piacimento.
</LI></OL>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>NON SO SE PUOI SVILUPPARLI TUTTI MA SAREI
FELICE ANCHE SOLO DI UNO O DI DUE .</FONT></DIV>
<DIV><FONT face=Arial size=2>Grazie della tua disponibilità se non ha tempo o
non ha voglia di aiutarmi non importa ma l'importante è che mi mandi una mail
per dirmelo .</FONT></DIV>
<DIV><FONT face=Arial size=2>Grazie mille Matteo</FONT></DIV><!--P>
<H3>Programmazione di Sistema in C</H3>
<P--></FONT></DIV></BODY></HTML>