RES: [FUGSPBR] php + sudo

Sergio Jose Ferreira sergio em wgo.com.br
Qui Dez 11 12:19:23 BRST 2003


Carlos,

	Instala o vpopmail.pm no perl e faz um script em perl para gerenciar as
contas.

o script vai ser mais ou menos assim :

#!/usr/local/bin/perl -w
### By Sérgio José Ferreira - WGO Internet
### Parte do Ispadmin http://www.ispadmin.com.br
use strict;
use CGI qw(:standard);
use vpopmail;
use File::stat;

my $q = new CGI;
print $q->header( "text/plain");

my ( $user, $domain ) = split( /@/, $q->param("Email"));
my $funcao  = $q->param("Funcao");

# Verificar se o domínio existe
my $ddir = vgetdomaindir($domain);
my $pwd = vauth_getpw($user,$domain);

if ( $funcao eq 'ADD' ) {
  if ( ! $ddir ) { print "*** ERRO-DOMINIO ***"; }
  if ( $pwd ) { print "*** ERRO-EXISTE ***"; }
  else {
      my $pass  = $q->param("Password");
      my $name  = $q->param("Login");
      my $quota  = $q->param("Quota");
      $quota = $quota * 1024 * 1024;
      my $retorno = add($user,$domain,$name,$pass,$quota);
      print "*** $retorno ***";
   }
}

if ( $funcao eq 'CHG' ) {
   if ( ! $pwd ) { print "*** ERRO-NAOEXISTE ***"; }
   else {
      my $pass  = $q->param("Password");
      my $name  = $q->param("Login");
      my $quota  = $q->param("Quota");
      $quota = $quota * 1024 * 1024;
      my $retorno = change($user,$domain,$name,$pass,$quota);
      print "*** $retorno ***";
   }
}

## Incluir Usuário no vpopmail
sub add {
  my ( $user, $domain, $name, $pass, $quota ) =@_;
  if ( ( vadduser($user, $domain, $pass, $name, 0) ) == 0 ) {
         vsetuserquota($user, $domain, $quota);
         return 'OK-INCLUIR'; } else { return 'ERRO-INCLUIR';}
}

## Incluir Usuário no vpopmail
sub change {
  my ( $user, $domain, $name, $pass, $quota ) =@_;
  if ( ( vpasswd($user, $domain, $pass,0) ) == 0 ) {
         vsetuserquota($user, $domain, $quota);
         return 'OK-ALTERAR'; } else { return 'ERRO-ALTERAR';}
}

sub del {
  my ( $user, $domain ) =@_;
  if ( ( vdeluser($user, $domain) ) == 0 ) { return 0; } else { return 1;}
}


No PHP, use fsockopen para chamar o script em perl, assim, não precisará
abrir uma nova página.

[]'s

Sérgio José Ferreira
WGO Internet

-----Mensagem original-----
De: fugspbr-fugspbr.org-bounces em fugspbr.org
[mailto:fugspbr-fugspbr.org-bounces em fugspbr.org]Em nome de Carlos
Enviada em: quinta-feira, 11 de dezembro de 2003 11:08
Para: fugspbr em fugspbr.org
Assunto: [FUGSPBR] php + sudo


Pessoal
Estou pensando em usar o php pra criar e gerenciar contas usando os
comando do vpopmail.
Esta funcionando usando o sudo como no script abaixo.

$comando = '/usr/local/bin/sudo /home/vpopmail/bin/vuserinfo '.$email;
$last_line = system($comando, $retval);

Gostaria de saber se isto é seguro?
O sudo esta atualizado e o sudoers file ta assim:

  www ALL=(ALL)          NOPASSWD: ALL

Se alguem tiver outra solução gostaria de saber. Ja uso tambem o vqadmin e
qmailadmin.

uso freebsd 5.1
--
CAT
_______________________________________________________________
Sair da Lista: http://lists.fugspbr.org/listinfo.cgi
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/

_______________________________________________________________
Sair da Lista: http://lists.fugspbr.org/listinfo.cgi
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/



Mais detalhes sobre a lista de discussão freebsd