Jump to content
Froxlor Forum

matsy

Members
  • Posts

    100
  • Joined

  • Last visited

Posts posted by matsy

  1. Ich muss die Passwörter für Mysql ändern also diejenigen, die Froxlor benutzt.

    Gibt es dafür innerhalb Froxlor eine Funktion?

    Wenn nicht, würde ich sie manuell in MySQL ändern und dann in die userdata.inc.php eintragen, sowie in den Postfix .cf Dateien und der dovecot-sql.conf.ext einfach ändern.

     

    Reicht das oder habe ich etwas übersehen?

  2. Bin die Schritte der Konfiguration gerade nochmal durchgegangen und es sieht alles so aus, wie dort abgebildet.

    Die Groupsdatei enthält: 

    web1:x:10000:web1,www-data,froxlorlocal

    und id froxlorlocal ergibt:

    # id froxlorlocal
    uid=2001(froxlorlocal) gid=2001(froxlorlocal) groups=2001(froxlorlocal),10000(web1)

    id www-data zeigt:

    # id www-data
    uid=33(www-data) gid=33(www-data) groups=33(www-data),2001(froxlorlocal),10000(web1)

    Zum Testen habe ich einem Subfolder in einem Kundenverzeichnis einm 777-Rechte gegeben aber auch dann erscheint er nicht im Dropdownfeld.

  3. Wie ich es umstellen kann habe ich jetzt gefunden, das wäre auf jeden Fall schon mal eine Alternative.

    Warum das Dropdownfeld aber keinen Ordner anzeigt, ist aber immer noch seltsam. In den Kundenordnern gibt es gültige Unterordner. Zu den Rechten kann ich nicht viel sagen. Ich hatte Froxlor installier und automatisch konfiguriert und es schien alles zu funktionieren.

    Wie kann ich denn am Besten herausfinden, ob es an falschen Berechtigungen liegt, bzw. lassen sich die irgendwie automatisch überprüfen oder neu setzen?

  4. Und heute habe ich mal wieder ein Problem:

    Wenn ich einen Verzeichnisschutz erstellen will oder eine Verzeichnisoption, dann bekomme ich für die Pfadeingabe nur ein Dropdown-Feld mit einem Slash drinnen.

    Eine Eingabe ist nicht möglich und eine andere Auswahl wird auch nicht angezeigt.

    Ich habe einen Screenshot beigefügt und komme nicht drauf, was falsch ist. Irgendwann hatte es wohl mal funktioniert, weil ich einige Verzeichnisschutze bereits angelegt sind. Aber im Moment bekomme ich diese Option mit dem Slash.

    verzeichnisschutz.png

  5. 3 minutes ago, d00p said:

    du solltest ja auch nur schauen ob es dort noch einen Eintrag gibt!

    5 minutes ago, matsy said:

    Den Eintrag gibt es.

    3 minutes ago, d00p said:

    chroot wieder nehme ich an, postfix darf haltsicher nich einfach nach /root schreiben

    Verdammt

    Aber danke für den Hinweis, ich glaube so funktioniert es: 

    # chgrp nogroup inbox
    
    #ls -ld /root/mail/inbox
    -rw-rw-r-- 1 root nogroup 3977 Jan 24 12:42 /root/mail/inbox
    
    Jan 24 12:56:47 srv.XXX.de postfix/local[21483]: 34E9A7200EA: to=<root@localhost>, relay=local, delay=0.19, delays=0.14/0.02/0/0.03, dsn=2.0.0, status=sent (delivered to file: /root/mail/inbox)
    Jan 24 12:56:47 srv.XXX.sw postfix/qmgr[7338]: 34E9A7200EA: removed

     

  6. Wenn ich in der /etc/aliases eine Mailadresse angebe, dann werden die lokalen Mails an root ja doch wieder weitergeleitet, was ich nicht will.

    Da /root das Home-Verzeichnis vom root-User ist,  wäre es folgerichtig, wenn Dovecot das Mailverzeichnis darin anlegt und Mails dorthin zustellt. Das macht er wegen fehlender Rechte aber nicht.

    Ich habe zum Testen nun einmal ein Mailverzeichnis in /root erstellt und eine Datei 'Inbox'. Per /etc/aliases leite ich root direkt auf /root/mail/inbox. Sobald ich 'inbox' 666 Rechte gebe (also inkl. read/write for others) stellt Postfix/Dovecot darin zu. Also genau das was ich eigentlich will.

    Die Datei ist so aber natürlich für jeden beschreibbar. Ich habe nun nacheinander versucht, die Datei nur für die Gruppen Postfix bzw. Dovecot bzw. mail schreibbar zu machen, dann stellt er aber wieder nicht zu, was ich nicht verstehe, weil das Recht über die richtige Gruppe doch eigentlich ausreichen müsste. Oder für welche Gruppen muss ich denn sonst die Schreibrechte vergeben?

  7. 22 hours ago, d00p said:

    Es gibt viele Möglichkeiten der Integration ja, wir wollten immer möglichst nah an den system configs bleiben um Anpassungen durch den Admin einfacher zu gestalten.

    Das ist nachvollziehbar, ich habe es aber halt aus der Sicht einer möglichst schnellen Einrichtung gesehen, mit so wenig Fehlerquellen wie möglich.

    Denkbar wäre ja vielleicht auch, dass man in eine eventuelle 99-froxlor-config.conf die entsprechenden sections mit dazu schreibt. Also z.B. so:

    # Froxlor all inclusive config file
    # 99-froxlor-config.conf
    
    #file: 15-lda.conf
    postmaster_address = postmaster@srv24043.blue.kundencontroller.de
    
    #file: 20-pop3.conf
    pop3_logout_format = in=%i out=%o top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
    
    usw......

    So könnte man aus der Config-Datei auch sehen, woher die Settings ursprünglich kommen.

    Naja, war ja nur so eine Idee. Zurück zum eigentlichen Problem:

     

    Also mit der Einstellung 

    mail_location = maildir:~/Maildir

    läuft es grundsätzlich anscheinend ganz gut. Ich habe das jetzt fast 24 Stunden am Laufen und es wurden die Postfächer unter den Home Directories erstellt, die lokalen Mails kommen dort an und die froxlor web-User bekommen weiterhin ihre Mails in ihren Postfächern. Scheint also erst einmal zu klappen.

    Was nicht klappt sind die Mails für den root-User. Für den bekomme ich weiterhin: 

    Quote

    Jan 24 08:06:02 srv.XXX.de dovecot: lda(root)<24178><e7+iJ9pP7mFyXgAABV+1+Q>: Error: mkdir(/root/Maildir) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup) missing +w perm: /root, dir owned by 0:0 mode=0711)

    Das ist irgendwie ja auch verständlich, schließlich soll ja nicht jeder nach Belieben ins /root Verzeichnis schreiben können, in diesem Fall wäre es aber gewollt.

    Hast du dazu noch eine Idee, ich habe das jetzt noch nicht groß gegoogelt für eine Lösung, weil ich gehofft hatte es würde doch noch funktionieren.

  8. 21 hours ago, d00p said:

    https://www.softprayog.in/troubleshooting/dovecot-imap-error-open-var-mail-username-failed

    aber keine garantie dass dann alles weiter normal mit den froxlor-managed mail-konten funktioniert

    Danke fürs Raussuchen, werde ich mal ausprobieren und sehen, ob es funktioniert. Die Inboxen unterhalb der User-Verzeichnisse wären natürlich ein Traum.

     

    Mir ist jetzt noch beim Durchlesen eine Idee für einen Verbesserungsvorschlag für Froxlor gekommen:

    Quote

    This file has a line,

    !include conf.d/*.conf
    

    which causes inclusion of all files with names ending with .conf in the /etc/dovecot/conf.d directory. The file names start with numbers like, 10, 20, 30, etc., which determines the order in which the files are combined. So, a configuration entry in a file can be overruled by another entry in a later file.

    Bei der Dovecot-Konfiguration in froxlor muss man ja der Reihe nach die Konfigdateien einzeln erst umbenennen und dann neu anlegen mit den Änderungen.

    Wäre es nicht viel einfacher, wenn die Konfigurationsanleitung einfach nur die Änderungen anzeigen würde, man diese in eine Datei kopiert und die dann ans Ende der Konfigdateien stellt, dass es als Letztes eingelesen wird. Z.B. mit einem Namen wie 99-froxlor-config.conf? So hätte man die alles an einem Ort in einer Datei und müsste die Originaldateien überhaupt nicht anfassen.

  9. 37 minutes ago, d00p said:

    Wenn du da die Meldungen erhalten willst für user@localhost, dann mach es wie für root und mach folgende Einträge in der aliases:

    user: externe@mail.adresse

    user2: andere@ext.mail

    etc.

     

    Du meinst eine echte existierende Mailadresse? Dann wird sie ja weitergeleitet. Das funktioniert ja und will ich ja gerade nicht.

     

    Ich habe jetzt mal den user1 der group mail hinzugefügt:

    root@srv.XXX.de:~# adduser user1 mail
    Adding user `user1' to group `mail' ...
    Adding user user1 to group mail
    Done.

    Mail geschickt:

    Jan 22 11:17:44 srv.XXX.de dovecot: lda(user1)<24290><MXdiOsjZ62HiXgAABV+1+Q>: Error: setegid(privileged) failed: Operation not permitted
    Jan 22 11:17:44 srv.XXX.de dovecot: lda(user1)<24290><MXdiOsjZ62HiXgAABV+1+Q>: Error: Mailbox INBOX: open(/var/mail/user1) failed: Permission denied (euid=1000(user1) egid=1000(user1) missing +w perm: /var/mail, we're not in group 8(mail), dir owned by 0:8 mode=0775)
    Jan 22 11:17:44 srv.XXX.de dovecot: lda(user1)<24290><MXdiOsjZ62HiXgAABV+1+Q>: Error: Mailbox INBOX: Failed to autocreate mailbox: Mailbox INBOX: open(/var/mail/user1) failed: Permission denied (euid=1000(user1) egid=1000(user1) missing +w perm: /var/mail, we're not in group 8(mail), dir owned by 0:8 mode=0775)

    Permissions:

    root@srv.XXX.de:~# ls -ld /var/mail
    drwxrwsr-x 2 root mail 4096 Jan 21 15:27 /var/mail
  10. 51 minutes ago, d00p said:

    Frage ist eher wieso willst du an lokale User Mails schicken?

    Es geht mehr um lokale Systemmail, z.B. von cron, die ich nicht unbedingt weiterleiten will.

    52 minutes ago, d00p said:
    1 hour ago, matsy said:
    Error: Mailbox INBOX: open(/var/mail/user1) failed: Permission denied (euid=1000(user1) egid=1000(user1) missing +w perm: /var/mail, we're not in group 8(mail), dir owned by 0:8 mode=0775)

    Steht alles da.

    Wenn ich nach der Fehlermeldung gehe, dann würde ich user1 der Gruppe mail hinzufügen. Das habe ich auch gegoogelt, aber dann das gefunden:

    https://serverfault.com/a/713711

    Quote

    This is a terrible idea, because it means that ol' nicolai now has read-write access to everyone's mail.

    Hört sich dann also doch nicht nach einer guten Idee an. Außerdem müsste ich dann jeden User der Gruppe mail hinzufügen, d.h. um das zu automatisieren wäre der Weg wahrscheinlich die etc/adduser.conf anzupassen. Wenn es nur so geht, dann bleibt mir nichts anderes übricht, ich hatte gehofft, es gibt eine Einstellung, mit der Postfix/Dovecot das alles selbst so einrichten und automatisch erledigen..

    Wegen

    On 1/18/2022 at 10:01 AM, matsy said:
    Error: mkdir(/root/mail/.imap) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup) missing +w perm: /root, dir owned by 0:0 mode=0711)

    ist dann die einzige Möglichkeit, nobody/nogroup Schreibrechte auf /root einzuräumen?

  11. Sehe erst jetzt deine Antwort. Ich bin leider immer noch nicht weiter gekommen, es funktioniert einfach nicht wie gewünscht.

    Die /etc/aliases habe ich so übernommen, wie froxlor sie mir angezeigt hat:

    mailer-daemon: postmaster
    postmaster: root
    nobody: root
    hostmaster: root
    usenet: root
    news: root
    webmaster: root
    www: root
    ftp: root
    abuse: root
    noc: root
    security: root
    
    # change this to a valid e-mail address you can access
    root:               root@srv.XXX.de

    Der Empfang und Versand von E-Mails von/nach extern funktioniert. Von extern eingehende Mails werden auf die Mailboxen unter /var/customers/mail/webX verteilt und können abgerufen werden und wenn ich in der /etc/aliases eine externe E-Mail Adressen angebe für einen User, dann funktioniert die Weiterleitung.

    Was aber nicht funktioniert ist der rein interne User-Mailverkehr. Wenn ich hier jetzt einen lokalen User habe (user1) und den mit 

    mail user1@localhost

    anschreibe, dann gibt's Fehlermeldungen:

    Jan 22 07:20:21 srv.XXX.de postfix/pickup[31158]: DAA5672013D: uid=0 from=<root@srv.XXX.de>
    Jan 22 07:20:22 srv.XXX.de postfix/cleanup[655]: DAA5672013D: message-id=<20220122062021.DAA5672013D@mail.srv.XXX.de>
    Jan 22 07:20:22 srv.XXX.de postfix/qmgr[31159]: DAA5672013D: from=<root@srv.XXX.de>, size=395, nrcpt=1 (queue active)
    Jan 22 07:20:22 srv.XXX.de dovecot: lda(user1)<658><fae4HCai62GSAgAABV+1+Q>: Error: setegid(privileged) failed: Operation not permitted
    Jan 22 07:20:22 srv.XXX.de dovecot: lda(user1)<658><fae4HCai62GSAgAABV+1+Q>: Error: Mailbox INBOX: open(/var/mail/user1) failed: Permission denied (euid=1000(user1) egid=1000(user1) missing +w perm: /var/mail, we're not in group 8(mail), dir owned by 0:8 mode=0775)
    Jan 22 07:20:22 srv.XXX.de dovecot: lda(user1)<658><fae4HCai62GSAgAABV+1+Q>: Error: Mailbox INBOX: Failed to autocreate mailbox: Mailbox INBOX: open(/var/mail/user1) failed: Permission denied (euid=1000(user1) egid=1000(user1) missing +w perm: /var/mail, we're not in group 8(mail), dir owned by 0:8 mode=0775)
    Jan 22 07:20:22 srv.XXX.de dovecot: lda(user1)<658><fae4HCai62GSAgAABV+1+Q>: msgid=<20220122062021.DAA5672013D@mail.xxx>: save failed to open mailbox INBOX: Mailbox INBOX: Failed to autocreate mailbox: Mailbox INBOX: open(/var/mail/user1) failed: Permission denied (euid=1000(user1) egid=1000(user1) missing +w perm: /var/mail, we're not in group 8(mail), dir owned by 0:8 mode=0775)
    Jan 22 07:20:22 srv.XXX.de postfix/local[657]: DAA5672013D: to=<user1@localhost>, relay=local, delay=0.89, delays=0.42/0.06/0/0.41, dsn=4.3.0, status=deferred (temporary failure)
    Jan 22 07:20:22 srv.XXX.de postfix/local[657]: using backwards-compatible default setting relay_domains=$mydestination to update fast-flush logfile for domain "localhost"

    /var/mail/user1 existiert natürlich nicht. Ich würde erwarten, dass /var/mail/user1 angelegt wird und die Mail dorthin geschrieben wird. Genauso wie in meinem Ausgangspost wenn ich eine mail an root schicke.

    Das scheitert alles an den Rechten und ich weiß nicht, was ich noch einstellen kann, damit es wie gewünscht funktioniert. Geht das, was ich will, überhaupt?

  12. Hab mich gerade verklickt und bin im customers/tmp/web1 folder gelandet. Nachdem er gar nicht mehr aufgehört hat zu laden, habe ich mal die Dateien zählen lassen, heraus kamen über 1.5 Mio.

    Kurzes Googlen ergab das hier. https://www.secretisland.de/froxlor-und-php-session/

    Quote

    Froxlor legt standardmäßig die php Sessions unter /var/tmp/“Cusomer name“ ab.
    Diese Einstellung kann man leider auch nicht über die PHP-Konfiguration ändern. Da die Zeile „session.save_path =“ nicht interpretiert wird.

    Also werden sie PHP Session Dateien, nicht automatisch durch den normalen PHP5 Cron aufgeräumt.

    Da das Laden ewig dauert, kann ich nicht sehen, wie alt die Dateien sind, die bei mir rumliegen, deswegen die Frage, ob der beschriebene Zustand mit den PHP-Sessions noch besteht und ob die genannte Lösung mittels eigenem Cron immer noch notwendig bzw. sinnvoll ist oder ob es andere Lösungen gibt.

  13. 24 minutes ago, d00p said:

    ja...sieht doch auch als geht alles...

    Hab nun folgendes gefunden: https://workaround.org/ispmail/jessie/postfix-mysql

    Quote

    You may be tempted to write “localhost” instead of “127.0.0.1”. Don’t do that because there is indeed a difference in this context. “localhost” will make Postfix look for the MySQL socket file and it can’t find it within it’s chroot jail at /var/spool/postfix because it is at /var/run/mysqld/mysqld.sock by default. But if you tell Postfix to use 127.0.0.1 as described here you make Postfix use a TCP connection to port 3306 on localhost which is working even if Postfix is jailed.

    Auf Debian scheint der Postfix standardmäßig im chroot jail bzw. steht in der Froxlor Konfig auch: 

    #
    # Postfix master process configuration file.  For details on the format
    # of the file, see the master(5) manual page (command: "man 5 master" or
    # on-line: http://www.postfix.org/master.5.html).
    #
    # Do not forget to execute "postfix reload" after editing this file.
    #
    # ==========================================================================
    # service type  private unpriv  chroot  wakeup  maxproc command + args
    #               (yes)   (yes)   (yes)   (never) (100)
    # ==========================================================================
    smtp      inet  n       -       y       -       -       smtpd

    Kann das die Erklärung sein, dass es mit localhost nicht funktionieren kann?

  14. Folgende Ergebnisse:

    # mysql -u froxlor -p -S /var/run/mysqld/mysqld.sock
    Enter password:
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 2953
    Server version: 10.3.31-MariaDB-0+deb10u1 Debian 10
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]> Ctrl-C -- exit!
    Aborted

     

    # mysqladmin -u froxlor -p --socket=/var/run/mysqld/mysqld.sock version
    Enter password:
    mysqladmin  Ver 9.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu on x86_64
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Server version          10.3.31-MariaDB-0+deb10u1
    Protocol version        10
    Connection              Localhost via UNIX socket
    UNIX socket             /var/run/mysqld/mysqld.sock
    Uptime:                 2 hours 26 min 6 sec
    
    Threads: 12  Questions: 132348  Slow queries: 0  Opens: 331  Flush tables: 1  Open tables: 321  Queries per second avg: 15.097

     

    # mysqladmin -u froxlor -p -h localhost version
    Enter password:
    mysqladmin  Ver 9.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu on x86_64
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Server version          10.3.31-MariaDB-0+deb10u1
    Protocol version        10
    Connection              Localhost via UNIX socket
    UNIX socket             /var/run/mysqld/mysqld.sock
    Uptime:                 2 hours 28 min 36 sec
    
    Threads: 12  Questions: 134164  Slow queries: 0  Opens: 336  Flush tables: 1  Open tables: 326  Queries per second avg: 15.047

     

    # mysqladmin -u froxlor -p -h 127.0.0.1 version
    Enter password:
    mysqladmin  Ver 9.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu on x86_64
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Server version          10.3.31-MariaDB-0+deb10u1
    Protocol version        10
    Connection              127.0.0.1 via TCP/IP
    TCP port                3306
    Uptime:                 2 hours 28 min 47 sec
    
    Threads: 12  Questions: 134214  Slow queries: 0  Opens: 336  Flush tables: 1  Open tables: 326  Queries per second avg: 15.034

     

  15. 1 hour ago, d00p said:

    steht ja da

    Dann sollte es auch funktionieren, oder?. Tut es aber nicht. Ich habe alle hosts Einträge in den .cf Dateien wieder auf localhost umgestellt und bekomme:

    postfix/smtpd[27766]: connect from XX.XX.de[XXX.XXX.XXX.XXX]
    postfix/trivial-rewrite[27779]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
    postfix/trivial-rewrite[27779]: warning: mysql:/etc/postfix/transport_maps.cf lookup error for "*"
    postfix/trivial-rewrite[27779]: warning: mysql:/etc/postfix/transport_maps.cf lookup error for "*"
    postfix/trivial-rewrite[27779]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
    postfix/trivial-rewrite[27779]: warning: virtual_alias_domains: mysql:/etc/postfix/mysql-virtual_alias_maps.cf: table lookup problem
    postfix/trivial-rewrite[27779]: warning: virtual_alias_domains lookup failure
    postfix/trivial-rewrite[27779]: warning: virtual_alias_domains: mysql:/etc/postfix/mysql-virtual_alias_maps.cf: table lookup problem
    postfix/trivial-rewrite[27779]: warning: virtual_alias_domains lookup failure
    postfix/trivial-rewrite[27779]: warning: virtual_alias_domains: mysql:/etc/postfix/mysql-virtual_alias_maps.cf: table lookup problem
    postfix/trivial-rewrite[27779]: warning: virtual_alias_domains lookup failure
    postfix/smtpd[27766]: NOQUEUE: reject: RCPT from XX.XX.de[XXX.XXX.XXX.XXX]: 451 4.3.0 <XXX@XX.de>: Temporary lookup failure; from=<XXX@XX.de> to=<YYY@YY.de> proto=ESMTP helo=<XXX@XX.de>

    Mit 127.0.0.1 funktioniert es.

  16. Ich habe jetzt einmal die mysql config verändert. Folgende Ausgaben müssten doch bestätigen, dass eine erfolgreiche Socketverbindung stattfindet, oder?

    # mysqladmin -u root -p --socket=/var/run/mysqld/mysqld.sock version
    Enter password:
    mysqladmin  Ver 9.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu on x86_64
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Server version          10.3.31-MariaDB-0+deb10u1
    Protocol version        10
    Connection              Localhost via UNIX socket
    UNIX socket             /var/run/mysqld/mysqld.sock
    Uptime:                 1 min 24 sec

     

    # mysql -u root -p -S /var/run/mysqld/mysqld.sock
    Enter password:
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 136
    Server version: 10.3.31-MariaDB-0+deb10u1 Debian 10
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  17. Ich hatte ja auch erwartet, dass es funktioniert. Darauf gekommen bin ich, da ein andere User hier das gleiche Problem hatte: 

     

     

    Ich habe dann meine alten Configs vom umgezogenen Server angeschaut, und auch da war der localhost durch 127.0.0.1 ersetzt. Das muss also schon damals mit localhost nicht funktioniert haben.

×
×
  • Create New...