Postfixadmin verschiedene Admins

Christian Boltz postfixbuch at cboltz.de
Mi Mär 2 13:21:41 CET 2016


Hallo Matthias, hallo zusammen,

Am Mittwoch, 2. März 2016, 02:16:15 CET schrieb Matthias Doering:
> Ich war bisher der Meinung das man in Postfixadmin verschiedene Admins
> erstellen kann die auch Domains anlegen können.
> Das kann nach meiner heutigen Erfahrung nur der Super-Admin.

Genau, das Anlegen neuer Domains ist auf Superadmins beschränkt.
Das ist auch nicht neu, sondern war schon immer so ;-)

> Ich habe auch mal in der Config geschaut. Konnte aber nichts passendes
> finden um das zu ändern. Vllt gibts da ja ein Parameter :-P
> Gibt es eine möglich bei Postfixadmin auch einem nicht Super-Admin das
> Rechte einzuräumen Domains zu erstellen?

Ja, mach ihn zum Superadmin ;-)

Wenn Du das nicht willst, musst Du wohl etwas im Code wühlen. Stelle 
Dich aber gleich darauf ein, dass Du an mehreren Stellen ändern musst. 
Stichpunkte sind u. a.:
- Admin-Rechte für die Domain
- nachträgliche Änderungen an der Domain (Quota etc.) erlauben?

Evtl. ist es einfacher, ein zusätzliches kleines Modul zu bauen, das nur 
die Anlage von Domains erlaubt - wenn Du den DomainHandler aufrufst, ist 
das nicht wirklich schwer (unter 10 Zeilen Code [1] - natürlich ohne 
Formularhandling etc.).


Andere Frage: Was genau ist Dein Problem? Vielleicht gibt es ja eine 
sinnvollere Lösung ;-)


Gruß

Christian Boltz


[1] Hier mal ein Beispiel, das durch Ändern einiger Parameter 
    verschiedene Sachen machen kann (siehe $mode) und daher natürlich 
    länger als 10 Zeilen ist ;-)

    Bei Fragen: a) die Kommentare in PFAHandler.php lesen und ggf.
    b) bei mir nachfragen ;-)


<?php
define('POSTFIXADMIN_CLI', 1);

include('common.php');

#$id = 'asdf2 at example.com';
#$id = 'asdf56789 at example.com';

#mailbox
$id = 'postmaster at asdf.de';

#alias
#$id = 'cb at example.com';

#$values = array(
#       'goto_mailbox' => 1,
#       'goto'          => array( 'foo at example.com', 'asdf at example.com'),
# );

# $list_condition = '1=1';
$list_condition = "domain='example.com'";


$mode = 1;
# 1 = view, 2 = new, 3 = edit, 4 = list

$admin = "";
#$admin = "test at example.com";

$handlerclass = "AliasHandler";



$new = 0;
if ($mode == 2 /*new*/) $new = 1;

echo "new: $new\nadmin: $admin\n";

$handler =  new $handlerclass($new, $admin);

if ($mode != 4) {
echo "*** init ***\n";
        if (!$handler->init($id)) {
                print "Error1: ";
                print_r($handler->errormsg);
                exit;
        } 
}
echo "*** NACH init ***\n";

if ($mode == 1) { # view
        if (!$handler->view()) {
                print "Error2: ";
                print_r($handler->errormsg);
        } else {
                print_r($handler->result());
        }
} elseif ($mode == 4) { # list
        $handler->getList($list_condition);
        print_r($handler->result());
} else { # new/edit
        if (!$handler->set($values)) {
                print "Error3: ";
                print_r($handler->errormsg);
                exit;
        }

        if (!$handler->store()) {
                print "Error4: ";
                print_r($handler->errormsg);
                exit;
        }
}

-- 
> /etc/sysconfig/powersave/cpufreq contains the line:
> # the next lover CPU frequency. Increasing this value lowers the
             ^^^^^
we should keep that one ;)
[Michael Gross in https://bugzilla.novell.com/show_bug.cgi?id=183704]




Mehr Informationen über die Mailingliste Postfixbuch-users