Créer un server manager pour les utilisateurs autre que admi

Forum dédié à la distribution du même nom et que vous pourrez télécharger sur http://www.contribs.org. La nouvelle version de cette distribution se nomme SME Server

Modérateur: modos Ixus

Créer un server manager pour les utilisateurs autre que admi

Messagepar DJbaptis » 24 Juin 2004 20:16

Salut

Je voudrais créer un server manager 2 ou il serai possible de lancer la connexion, rebooter... mais accesible par n'importe quel utilisateur qd il rentre son mdp.

Mais je ne sait pas ou mettre les pages qui feront ca dans ma SME
Est ce que qqn sait ??

Merci
Avatar de l’utilisateur
DJbaptis
Second Maître
Second Maître
 
Messages: 35
Inscrit le: 12 Oct 2003 00:00

Messagepar jaysee » 24 Juin 2004 20:30

Sur SME 6, j'ai vu apparaitre un nouvel onglet dans le server-manager:

il s'appel security et dedans ya:
User Panel Access

On peut donner des droit d'acces aux users afin de faire ce que tu veux... seul probleme j'ai pas trouver l'url que les utilisateurs doivent utiliser pour acceder a ce panneau.... (j'ai pas trop cherché non plus...)

Quelqu'un a deja utilisé ce truc?

PS: je crois que ce panneau est accessible apres une update... de base il y est pas me semble t'il
"Une fois, en auto, j'ai eu un accent grave" - Johnny Halliday
Avatar de l’utilisateur
jaysee
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 148
Inscrit le: 07 Nov 2003 01:00

Messagepar DJbaptis » 24 Juin 2004 21:14

Je n'ai pas ca sur ma SME 6, comment tu l'a eu ?
Avatar de l’utilisateur
DJbaptis
Second Maître
Second Maître
 
Messages: 35
Inscrit le: 12 Oct 2003 00:00

Messagepar Muzo » 24 Juin 2004 21:19

Salut, de memoire il existe une contrib qui permet de définir quel panel est acessible par qui. Je crois que ca s'appel userpanel de chez dungog.net

http://www.dungog.net/sme/files/userpanel/
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar jaysee » 24 Juin 2004 21:35

Ca l'air d'etre en effet le truc de Muzo...

J'ai pas fait le test, pas le courage ce soir...
"Une fois, en auto, j'ai eu un accent grave" - Johnny Halliday
Avatar de l’utilisateur
jaysee
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 148
Inscrit le: 07 Nov 2003 01:00

Messagepar DJbaptis » 24 Juin 2004 22:08

Ca y'est j'ai trouvé l'adresse : c'est
https://"adresse du serveur SME"/user-manager/

Sinon j'ai un autre problème maintenant, je voudrais ajouter un panel personnalisé qui me permettrait de connecter et déconnecter mon modem adsl.

Mais je ne connait pas le language perl :-(((

Si qqn pouvait m'aider svp

Je voudrais une liste comme dans la page reboot du server manager ou à la place de redemarer et arreter, "Connecter" et "Déconnecter", et en bas le bouton executer

Quand la liste est positionné sur Connecter, j'aimerais que ca execute la commande "/etc/rc.d/init.d/pppoa start"
Quand la liste est positionné sur Déconnecter, j'aimerais que ca execute la commande "/etc/rc.d/init.d/pppoa stop"

Merci si qqn connait le language perl

En ce qui concerne le reste je sais faire (ajouter le panel dans server-manager et user-manager....)
Avatar de l’utilisateur
DJbaptis
Second Maître
Second Maître
 
Messages: 35
Inscrit le: 12 Oct 2003 00:00

Messagepar Taltos » 25 Juin 2004 00:31

DJbaptis a écrit:Ca y'est j'ai trouvé l'adresse : c'est
https://"adresse du serveur SME"/user-manager/

Sinon j'ai un autre problème maintenant, je voudrais ajouter un panel personnalisé qui me permettrait de connecter et déconnecter mon modem adsl.

Mais je ne connait pas le language perl :-(((

Si qqn pouvait m'aider svp

Je voudrais une liste comme dans la page reboot du server manager ou à la place de redemarer et arreter, "Connecter" et "Déconnecter", et en bas le bouton executer

Quand la liste est positionné sur Connecter, j'aimerais que ca execute la commande "/etc/rc.d/init.d/pppoa start"
Quand la liste est positionné sur Déconnecter, j'aimerais que ca execute la commande "/etc/rc.d/init.d/pppoa stop"

Merci si qqn connait le language perl

En ce qui concerne le reste je sais faire (ajouter le panel dans server-manager et user-manager....)


c'est plus simple de se mettre a putty qu'au perl !!!!!!!!!!!!!!!!!!!!!

avec putty tu passe la ligne de commande service pppoe start ou stop..

la tout dans un raccourci sur le bureau..

et si tu gaze ca se fait sans avoir a rentrer le mot de passe admin .. (ce que je n'est jamais réussi a faire - j'attend ton how to :-) )

tu trouvera des infos dans les archives du forum fr.e-smith (news)

A+
Avatar de l’utilisateur
Taltos
Lieutenant de vaisseau
Lieutenant de vaisseau
 
Messages: 227
Inscrit le: 27 Jan 2004 01:00
Localisation: Nantes

Messagepar DJbaptis » 25 Juin 2004 10:36

J'ai fait ce script mais il ne marche pas, au chargement dans server manager, cela m'indique une erreur :-(.
Est-ce que qqn connait l'endroit ou je peux trouver le fichier ou sont décrite les erreur ?

Voila mon fichier qui contient des erreurs :

Code: Tout sélectionner
#!/usr/bin/perl -wT
#----------------------------------------------------------------------
# heading     : Connexion
# description : Gestion de la connexion
# longdesc    : Permet de gerer la connexion ADSL
# navigation  : 100 500
#
# Copyright (c) 2004 Jean-Baptiste
#
#----------------------------------------------------------------------

package esmith;
use strict;
use CGI ':all';
use CGI::Carp qw(fatalsToBrowser);

use esmith::cgi;
use esmith::config;
use esmith::util;
use esmith::db;
use esmith::lockfile;

sub showInitial ($$);
#sub connectAndShowResult ($);
#sub disconnectAndShowResult ($);

BEGIN
{
    # Clear PATH and related environment variables so that calls to
    # external programs do not cause results to be tainted. See
    # "perlsec" manual page for details.

    $ENV {'PATH'} = '';
    $ENV {'SHELL'} = '/bin/bash';
    delete $ENV {'ENV'};
}

esmith::util::setRealToEffective ();

my %conf;
tie %conf, 'esmith::config';

my %restore;
tie %restore, 'esmith::config', '/etc/e-smith/restore';

    my %accounts;
    tie %accounts, 'esmith::config', '/home/e-smith/accounts';

    my $acctName = $ENV{'REMOTE_USER'};

    if ($acctName =~ /^([a-z][\-\_\.a-z0-9]*)$/)
    {
        $acctName = $1;
    }

    my @directories = ("/home/e-smith/files/users/$acctName/");


# Unbuffer standard output so that files and directories are listed as
# they are restored
$| = 1;

# Store away current gid of 'www' group.
my $www_gid = getgrnam("www");

#------------------------------------------------------------
# examine state parameter and display the appropriate form
#------------------------------------------------------------

my $q = new CGI;

if (! grep (/^state$/, $q->param))
{
    showInitial ($q, '');
}
#elsif ($q->param ('state') eq "connect")
#{
#    connectAndShowResult ($q);
#}
#elsif ($q->param ('state') eq "disconnect")
#{
#    disconnectAndShowResult($q);
#}

exit (0);

#------------------------------------------------------------
# subroutine to display initial form
#------------------------------------------------------------

sub showInitial ($$)
{
    my ($q, $msg) = @_;

    if ($msg eq '')
    {
       esmith::cgi::genHeaderNonCacheable ($q, \%conf,
        'Connexion ou déconnexion');
    }
    else
    {
       esmith::cgi::genHeaderNonCacheable
       ($q, \%conf, 'Operation status report');

       print $q->p ($msg);
       print $q->hr;
    }


    my %labels = (
       "connect"    =>      "Connecter",
       "disconnect"   =>      "Déconnecter",
   );

    my @labels = (
       'connect',
       'disconnect',
   );

    my $default_action = 'connect';

    print $q->startform (-method => 'POST',
                     -action => $q->url (-absolute => 1));

    print $q->table ({border => 0, cellspacing => 0, cellpadding => 4});

    print $q->Tr (esmith::cgi::genWidgetRow($q,"Sélectionner une action
:",
          $q->popup_menu (-name => 'function',
                           -values => [ @labels ],
                           -default => $default_action,
                           -labels => \%labels)));

    print "</table>\n";

    print '<p>';

    print $q->Tr (
       esmith::cgi::genButtonRow(
          $q,
          $q->submit (-name => 'action', -value => 'Executer')
      )
   );

    print $q->hidden (
       -name => 'state',
       -override => 1,
       -default => 'connect'
   );

    print $q->endform;

    print $q->end_html;
}

#sub connectAndShowResult ($)
#{

#}

#sub disconnectAndShowResult ($)
#{

#}



Merci
Avatar de l’utilisateur
DJbaptis
Second Maître
Second Maître
 
Messages: 35
Inscrit le: 12 Oct 2003 00:00

Messagepar Muzo » 25 Juin 2004 10:45

Les erreurs de compilation vont dans admin_error_log pour le serveur manager
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar DJbaptis » 25 Juin 2004 14:37

Ca y'est j'ai réussi à débuger mon script perl, en fait c'étais juste que mon fichier perl n'avais pas tous les droit, j'ai fait un chmod 777, et impecable

A part un truc, j'aimerais lancer le script bash que j'ai fait qui se trouve dans "/etc/rc.d/init.d/pppoa start" mais ca me met une erreur me disant : /etc/rc.d/init.d/pppoa: /etc/rc.d/init.d/pppoa: cannot execute binary file

Comment faut-il faire pour éxecuter ca dans un script perl ??
J'avais fait comme ca

Code: Tout sélectionner
system( "service pppoa", "start" ) ;


ou comme ca

Code: Tout sélectionner
system( "service pppoa start" ) ;


mais ca ne marche pas :-(

Aidez moi svp

Merci
Avatar de l’utilisateur
DJbaptis
Second Maître
Second Maître
 
Messages: 35
Inscrit le: 12 Oct 2003 00:00

Messagepar Argenlos » 29 Juin 2004 13:51

Bonjour,

J'ai eu ce problème ce week-end, j'en ai perdu mes cheveux :)

La réponse extraite de ce post:
viewtopic.php?t=14795

Faire un "chmod 4750 ton_fichier_perl", ainsi la fonction system() fonctionne, il y a bien des solutions comme énumérées dans le post en lien ci-dessus, mais c'est la solution la plus simple.

Bon courage.
Petit deviendra grand...
Avatar de l’utilisateur
Argenlos
Amiral
Amiral
 
Messages: 1120
Inscrit le: 31 Juil 2002 00:00
Localisation: Montagu vendée


Retour vers E-Smith / SME Server

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité