Desenvolupament de Funcions pels Sistemes Informàtics
ASI-2
GNU/Linux
Utilitzant Perl per accedir a servidors SAMBA/Windows
14/03/11

Utilitzant Perl per accedir a servidors SAMBA i Windows

1- Documentació
Pàgines interessants:
http://search.cpan.org/~alian/Filesys-SmbClient-1.4/SmbClient.pm
2- Programari que s'hauria d'instal·lar des dels dipòsits d'Ubuntu
a) libfilesys-smbclient-perl
b) libauthen-smb-perl
c) libauthen-simple-smb-perl
3- Mostres d'arrxius de guió perl per treballar amb servidors SAMBA/Windows:
http://www.collados.org/asi2/perl/perlSMB.tar.gz


PRÀCTICA

1.- Utilitza el llenguatge perl per fer un arxiu de guió que et demani per teclat: a) el domini (o grup de treball) amb el qual vols treballar, b) El servidor del domini/grup al que vols connectar-te, c) El nom d'usuari i contrassenya amb el qual vols validar-te en el servidor, i que et mostri per pantalla tots els "shares" (carpetes i impressores compartides) del servidor. A continuació et demanarà a quin "share" vols connectar-te, i et mostrarà les seves carpetes i fitxers. Finalment et demanarà si vol veure el contingut d'un directori o el contingut d'un fitxer del "share". Un cop escollida l'opció et mostrarà el resultat de l'opció escollida. L'arxiu de guió s'ha d'anomenar perl2p1.pl.

2.-
Utilitza el llenguatge perl per fer un arxiu de guió que et demani per teclat: a) el domini (o grup de treball) amb el qual vols treballar, b) El servidor del domini/grup al que vols connectar-te, c) El nom d'usuari i contrassenya amb el qual vols validar-te en el servidor, i d) el nom del "share" (una carpeta  compartida) del servidor. A continuació et demanarà per teclat el nom d'una carpeta que s'ha de crear dins del share, i després el nom d'un fitxer que s'haurà de crear dins de la carpeta creada. A continuació et demanarà per teclat les dades que vols introduir dins del fitxer. El final de fitxer es produirà quan escriguis una línia en blanc, o sigui "" (Veure NOTA 1). El nom del script serà perl2p2.pl.

3.-  Utilitza el llenguatge perl per fer un arxiu de guió al qual has de passar 2 paràmetres. El primer paràmetre serà -f o -d. El segon  paràmetre serà un nom de directori o fitxer. El programa demanarà per teclat
: a) el domini (o grup de treball) amb el qual vols treballar, b) El servidor del domini/grup al que vols connectar-te, c) El nom d'usuari i contrassenya amb el qual vols validar-te en el servidor, i d) el nom del "share" (una carpeta  compartida) del servidor. El primer paràmetre indica al programa si treballem amb fitxers (-f) o un directoris (-d). El programa esborrarà el fitxer o directori el nom del qual hem passat com a segon paràmetre, i finalitzarà l'execució enviant el codi de retorn 0. Si no passem 2 paràmetres, el programa ha de finalitzar enviant a la pantalla el missatge "Quantitat de parèmetres incorrecta" i el codi de retorn 1. Si el primer paràmetreno val -f o -d el programa ha de finalitzar enviant a la pantalla el missatge "Primer paràmetre incorrecte" i el codi de retorn 2. El nom del script serà perl2p3.pl.

4.-  Utilitza el llenguatge perl per fer un arxiu de guió al qual has de passar 1 paràmetre. El paràmetre serà un nom de fitxer. El programa demanarà per teclat : a) el domini (o grup de treball) amb el qual vols treballar, b) El servidor del domini/grup al que vols connectar-te, c) El nom d'usuari i contrassenya amb el qual vols validar-te en el servidor, i d) el nom del "share" (una carpeta  compartida) del servidor. El programa mostrarà per pantalla primer els permisos, UID, GID, i mida del fitxer, després una línia en blanc, i finalment el contingut del fitxer. El nom del script serà perl2p4.pl.

5.-
Utilitza el llenguatge perl per fer un arxiu de guió al qual ha demanar per teclat el nom actual d'un fitxer el qual s'ha de reanomenar, i el seu nou nom. A continuació el programa demanarà per teclat : a) el domini (o grup de treball) amb el qual vols treballar, b) El servidor del domini/grup al que vols connectar-te, c) El nom d'usuari i contrassenya amb el qual vols validar-te en el servidor, i d) el nom del "share" (una carpeta  compartida) del servidor. Amb aquesta informació el programa canviarà el nom del fitxer, i ens mostrarà el seus permisos, UID i GID. El nom del script serà perl2p5.pl.



NOTA 1

#El següent fitxer permet escriure multiples línies dins d'un fitxer.
#El final de fitxer es dóna quan l'usuari escriu "".
#Compte!!!! --> Aquest exemple s'ha de modificar perquè funcioni dins d'un share.

#!/usr/bin/perl
my $buffer;

open(FD, ">data.txt");
print "Escriu les dades del fitxer:\n";
while(1)
{
    $buffer=<STDIN>;
    chop($buffer);
    if ($buffer eq "")
    {
        close(FD);
        exit(0);
    }
    print FD "$buffer\n";
}