> >>Another problem, if you allow the www user access to the vpopmail
> >>programs - how do you keep every web site on the server from having full
> >>access to mail system?  The vpopmail library functions don't provide
> >>authentication.  (They do provide functions for doing authentication,
> >>but the calling program has to manage it.)
> >
> >
> > Perhaps it would be nice to have some authorization method like:
> >
> > $vid=vpopmail_auth_module("vpopmail-user",
> > "vpopmail-pass-perhaps-in-crypted-md5-form");
>
> The function is already there.
>
> struct vpasswd *vauth_user( char *user, char *domain, char *password );
>
> All it does is return the password file data for the user if the
> password is valid, or NULL for an authentication error.  The problem is
> you can call vdeldomain() or anything else, even you haven't
> authenticated yet.  The only security checks in the vpopmail library are
> done at the system level.  Does the user running the process have rights
> to change the files it needs to affect?

Notice that I called the function .._auth_module(). If you want to separate
websites from accessing vpopmail on your box you need a fundamental
authorization that allow you to perform vdeldomain(). More descriptive
example follows:

$vid=vpopmail_auth_module("vpopmail-user-like-unix-vpopmail-user-that-can-ad
d-and-delete-and-so-on", "vpopmail-pass-perhaps-in-crypted-md5-form");

if($vid){
  //Your'e a super admin and can manipulate domains and users
  $rst=vadddomain("myname.tld","postmaster_pass"); //or whatever is the
syntax
  if($rst){
      echo "domain created";
  }else{
    echo vpopmail_errstr();
  }
}else{
  //your regular user that can only auth himself via
  $auth=vauth_user("user","domain","password");
}

on vpopmail_auth_module() level there would be a something like "sudo"
mechanism performed so that all functions that require phisycal access to
vpopmail dir structure were run as authorized super user (or any other user
that has some limited permissions.

Personally I feel, that could be an extension to vpopmail itself. A module
for PHP operations that would introduce some levels of admins etc...Imagine
that you can assign a user rigths to create 5 doimains...

Bad thing is I am no coder. All of above is just my imagination and
theoretical issues. Perhaps someone of vpopmail users is quite a PHP geek
and could verify if it has chance for a success.

Solt

Reply via email to