The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Module de gestion du fichier de configuration de samba (smb.conf)

File::SambaMSNRL - Gestion de la configuration de Samba

VERSION

Version 0.02

Méthodes Objets

new("fichier_conf_samba");

Le fichier indiqué doit correspondre à un fichier de configuration de samba Il doit posséder au minimum une partie [global] et au moins un partage

Retourne un nouvel objet

Example : my $objet=File::SambaMSNRL->new("/etc/samba/smb.conf);

GetGlobal

Lit et renvoi la partie [global] du fichier smb.conf Le retour se fait sous la forme d'un Hash

Params: Aucun Returns: Hash du global Example: my %global = $smb->GetGlobal;

ModifGlobal([parametre],[nouvelle_valeur]);

Modifie l'un des parametres de la partie [global] du smb.conf

Params: parametre = Le parametre du global à modifier nouvelle_valeur = la valeur du parametre à modifier Returns: Retourne 1 si la modification a été effectuée Retourne 0 si pas de modification Example: my $retour = $smb->ModifGlobal("workgroup","DOMAINE1"); if ($retour == 1) {print("La modification du parametre s'est déroulée avec succés\n");

AddParamGlobal ([parametre_a_ajouter],[valeur_du_parametre]);

Ajoute un nouveau parametre sur la partie [global] du smb.conf

Params: parametre_a_ajouter = le nom du parametre à ajouter dans la partie global valeur_du_parametre = la valeur de ce parametre Returns: - Example: $smb->AddParamGlobal("guest ok","Yes");

DelParamGlobal([parametre_a_supprimer]);

Supprime un parametre dans la partie [global] du smb.conf

Params: Nom du parametre à supprimer Returns: Retourne 0 en cas de non suppression Retourne 1 si le parametre a été correctement supprimé Example: my $result = $smb->DelParamGlobal("workgroup");

ValeurSection([nom_de_partage],[nom_de_section])

Recherche la valeur d'une section pour un partage donné

Params: Nom du partage Nom de la section dont on souhaite la valeur Returns: Valeur de la section d'un partage donné Example: my $valeur = $smb->ValeurSection("data","path");

ListPartages

Liste la totalité des partages contenus dans le fichier de configuration de samba

Params: Aucun Returns: Tableau contenant la liste des partages Example: my @partages = ListPartages;

ListSections

Liste les différentes sections et leur valeur pour tous les partages samba

Params: Aucun Returns: Hash de hash contenant le détail de chaque partage samba Example: my %details = $smb->ListSections; my @part = keys %details; foreach $keys (@part) { my @key2 = keys %{$details{$keys}}; foreach my $value (@key2) { my $valeur = $details{$keys}{$value}; }; };

CreaPartage("nom_du_partage");

Permet la creation d'un nouveau partage

Params: Le nom du partage à créer Returns: Retourne 1 si le partage a été créé Retourne 0 si le partage n'a pas pu être créé Example: my $result = $smb->CreaPartage("nom_du_partage");

CreaSection([partage],[section],[valeur_de_la_section]);

Ajoute une nouvelle section au partage créé précédemment à l'aide de "CreaPartage"

Params: partage : Nom du partage sur lequel créer une section Section : Nom de la section à créer Valeur de la section : Valeur à inscrire pour la section indiquée

Returns: Retourne 1 si la création s'est déroulée correctement Retourne 0 si la création n'a pas eu lieu

Example: my $result = $smb->CreaPartage("Data"); $smb->CreaSection("donnees","path","/home/data");

ModifSection([partage],[section],[valeur_de_la_section]);

Modifie la valeur d'une section pour un partage donné

Params: [partage] : nom du partage sur lequel travailler [section] : nom de la section dans le partage indiqué [valeur_de_la_section] : Valeur de la section

Returns: Retourne 1 si la modification a été réalisée Retourne 0 si la modification a échouée

Example: my $retour = $smb->ModifSection("games","inherit permissions","No");

DelPartage([@partages]);

Supprime un partage du fichier smb.conf

Params: Un tableau contenant le nom de chaque partage à supprimer Returns: Retourne une référence sur un tableau contenant le nom des partages supprimés Example: my @partages = ("data","games","mp3","avi"); my $RefPartagesSupp = $smb->DelPartage(@partages); my @PartSupp = @$RefPartagesSupp;

        foreach my $val (@PartSupp) {
          print("Partage Supprimé : $val\n");
        };

DelValue([nom_partage],[valeur_a_supprimer]);

Suppression d'un parametre dans un partage

Params: nom_partage : Nom du partage où le paramètre doit être supprimé valeur_a_supprimer : Le paramètre à supprimer dans ce partage Returns: Retourne 1 si le parametre a été supprimé Retourne 0 si le parametre n'a pas été supprimé Example: my $retour = $smb->DelValue("games","inherit permissions");

Sauve([nom_du_fichier]);

Sauvegarde des modifications effectuées > Ecriture du fichier final Pour que l'enregistrement se passe correctement, il faut au minimum une partie global et un partage.

Params: Nom du fichier à sauvegarder. Ce paramêtre est facultatif. S'il n'est pas donné, le fichier est enregistré sous son nom d'origine. Dans ce cas, une sauvegarde de ce fichier est réalisée dans le même répertoire avant l'écriture.

Returns: Si sauvegarde avec le nom du fichier d'origine, renvoi le nom du fichier sauvegardé Si sauvegarde avec un nouveau nom, renvoi 1

Example: my $retour = $smb->Sauve("/etc/samba/smbnew.conf");

load("nom_du_fichier");

Charge un fichier de configuration samba

Params: Nom du fichier de configuration Returns: Retourne un tableau contenant le fichier chargé

TakePartages

Charge la liste des partages présents dans le fichier de configuration de samba

TakeGlobal

Charge la partie global du fichier de configuration samba

1 POD Error

The following errors were encountered while parsing the POD:

Around line 42:

Non-ASCII character seen before =encoding in 'Méthodes'. Assuming UTF-8