#!/usr/bin/perl -w use strict; use esmith::AccountsDB; my $a = esmith::AccountsDB->open_ro() || die "Couldn't open the accounts database"; print "^ Nom ^ Acces en ecriture ^ Acces en lecture seule ^ Acces au reseau local ^ Acces web ^ Remarque ^\n"; foreach my $share ($a->get_all_by_prop(type => 'share')) { my $name = $share->key; my $w = join " ", split (/,/, ($share->prop('WriteGroups') || ''). ',' . ($share->prop('WriteUsers') || '')); my $r = join " ", split (/,/, ($share->prop('ReadGroups') || '') . ',' . ($share->prop('ReadUsers') || '')); my $loc = (($share->prop('smbAccess') || 'none') ne 'none') ? 'Oui':'Non'; my $remote = $share->prop('httpAccess') || 'none'; my $rem = ''; if ($remote eq 'global'){ $rem = 'public sans mot de passe'; } elsif ($remote eq 'local'){ $rem = 'depuis les reseau locaux uniquement, sans mot de passe'; } elsif ($remote eq 'local-pw'){ $rem = 'depuis les reseaux locaux uniquement, authentification necessaire' } elsif ($remote eq 'global-pw'){ $rem = 'public, authentification necessaire'; } elsif ($remote eq 'global-pw-remote'){ $rem = 'public, authentification necessaire depuis l\'exterieur'; } elsif ($remote eq 'none'){ $rem = 'Non'; } my $com = ''; if ($name eq 'intranet'){ $com = "Partage reserve a un usage interne"; } elsif ($name eq 'extranet'){ $com = "Partage public vers l'exterieur"; } elsif ($name eq 'tools'){ $com = "Partage utilise pour les taches administratives"; } elsif ($name eq 'wpkg' or $name eq 'wpkglogs'){ $com = "Partage utilise pour le deploiement de logiciels"; } print '|' . $name . ' |' . $w . ' |' . $r . ' |' . $loc . ' |' . $rem . ' |' . $com . ' |' . "\n"; } foreach my $ibay ($a->ibays){ my $name = $ibay->key; my $access = $ibay->prop('UserAccess') || 'wr-group-rd-group'; my $remote = $ibay->prop('PublicAccess') || 'none'; my $group = $ibay->prop('Group') || 'shared'; my $com = $ibay->prop('Name') || ''; my $w = ''; my $r = ''; my $rem = ''; if ($access eq 'wr-group-rd-group'){ $w = $group; } elsif ($access eq 'wr-group-rd-everyone'){ $w = $group; $r = 'Tous les utilisateurs'; } elsif ($access eq 'wr-admin-rd-group') { $w = 'Uniquement les administrateurs (Firewall Services)'; $w = $group; } if ($remote eq 'global'){ $rem = 'public sans mot de passe'; } elsif ($remote eq 'local'){ $rem = 'depuis les réseau locaux uniquement, sans mot de passe'; } elsif ($remote eq 'local-pw'){ $rem = 'depuis les réseaux locaux uniquement, authentification nécessaire' } elsif ($remote eq 'global-pw'){ $rem = 'public, authentification nécessaire'; } elsif ($remote eq 'global-pw-remote'){ $rem = 'public, authentification nécessaire depuis l\'exterieur'; } elsif ($remote eq 'none'){ $rem = 'Non'; } print '|' . $name . ' |' . $w . ' |' . $r . ' | Oui |' . $rem . ' |' . $com . ' |' . "\n"; }