• PPete

      Moolevel 3

    Hi,

    bin recht neu mit Mailcow unterwegs, gefällt mir aber alles sehr gut bislang. Die Kuh läuft bei mir auch soweit einwandfrei, allerdings gab es sowohl beim neu aufsetzen als auch nach image-updates und anschliessendem docker-compose down && docker-compose up -d ein Problemchen mit Postfix. In den Logs von Postfix sind diverse warnings bzgl. Rechten, sprich div. files werden als non-root owned angemeckert:
    19.5.2020, 12:40:34 warning warning: not owned by root: /usr/lib/postfix/.
    19.5.2020, 12:40:34 warning warning: not owned by root: /etc/postfix/./postfix-script
    19.5.2020, 12:40:34 warning warning: not owned by root: /etc/postfix/./post-install
    19.5.2020, 12:40:34 warning warning: not owned by root: /etc/postfix/./postfix-files.d/pcre.files
    19.5.2020, 12:40:34 warning warning: not owned by root: /etc/postfix/./postfix-files.d/mysql.files
    19.5.2020, 12:40:34 warning warning: not owned by root: /etc/postfix/./makedefs.out
    19.5.2020, 12:40:34 warning warning: not owned by root: /etc/postfix/./sasl
    19.5.2020, 12:40:31 warning warning: /etc/postfix/dynamicmaps.cf: file is owned or writable by non-root users -- skipping this file
    19.5.2020, 12:40:31 warning warning: /etc/postfix/dynamicmaps.cf: file is owned or writable by non-root users -- skipping this file
    19.5.2020, 12:40:31 warning warning: /etc/postfix/dynamicmaps.cf: file is owned or writable by non-root users -- skipping this file
    19.5.2020, 12:29:24 err error: unsupported dictionary type: mysql
    19.5.2020, 12:29:24 warning warning: unsupported dictionary type: mysql (/usr/lib/postfix/postfix-mysql.so: file is owned or writable by non-root users)
    19.5.2020, 12:29:24 info daemon started -- version 3.4.8, configuration /opt/postfix/conf
    19.5.2020, 12:29:24 info starting the Postfix mail system
    19.5.2020, 12:29:24 warning warning: symlink leaves directory: /etc/postfix/./makedefs.out
    19.5.2020, 12:29:24 warning warning: not owned by root: /usr/lib/postfix/sbin/./fsstone
    19.5.2020, 12:29:24 warning warning: not owned by root: /usr/lib/postfix/sbin/./lmtp
    19.5.2020, 12:29:24 warning warning: not owned by root: /usr/lib/postfix/sbin/./nqmgr
    19.5.2020, 12:29:24 warning warning: not owned by root: /usr/lib/postfix/./postfix-pcre.so.1.0.1
    19.5.2020, 12:29:24 warning warning: not owned by root: /usr/lib/postfix/./sbin/fsstone
    19.5.2020, 12:29:24 warning warning: not owned by root: /usr/lib/postfix/./sbin/lmtp
    19.5.2020, 12:29:24 warning warning: not owned by root: /usr/lib/postfix/./sbin/nqmgr
    19.5.2020, 12:29:24 warning warning: not owned by root: /usr/lib/postfix/./postfix_groups.pl
    19.5.2020, 12:29:24 warning warning: not owned by root: /usr/lib/postfix/./postfix-mysql.so
    19.5.2020, 12:29:24 warning warning: not owned by root: /usr/lib/postfix/./postfix-mysql.so.1.0.1
    19.5.2020, 12:29:24 warning warning: not owned by root: /usr/lib/postfix/./configure-instance.sh
    19.5.2020, 12:29:24 warning warning: not owned by root: /usr/lib/postfix/./libxsasl.a
    19.5.2020, 12:29:24 warning warning: not owned by root: /usr/lib/postfix/./postfix-pcre.so
    19.5.2020, 12:29:24 warning warning: not owned by root: /usr/lib/postfix/./libmilter.a
    19.5.2020, 12:29:24 warning warning: not owned by root: /usr/lib/postfix/.
    19.5.2020, 12:29:24 warning warning: not owned by root: /opt/postfix/conf/.
    19.5.2020, 12:29:24 warning warning: not owned by root: /etc/postfix/./postfix-script
    19.5.2020, 12:29:24 warning warning: not owned by root: /etc/postfix/./post-install
    19.5.2020, 12:29:24 warning warning: not owned by root: /etc/postfix/./postfix-files.d/pcre.files
    19.5.2020, 12:29:24 warning warning: not owned by root: /etc/postfix/./postfix-files.d/mysql.files
    19.5.2020, 12:29:24 warning warning: not owned by root: /etc/postfix/./makedefs.out
    19.5.2020, 12:29:24 warning warning: not owned by root: /etc/postfix/./sasl
    19.5.2020, 12:29:17 info daemon started -- version 3.4.8, configuration /opt/postfix/conf
    19.5.2020, 12:29:17 info starting the Postfix mail system

    Ergebnis dabei ist, dass ich keine Mails versenden kann. Ich habe mir jetzt damit beholfen, dass ich die angemeckerten files mittels chown root “angepasst” habe und aus der mailcow-ui heraus postfix neu starte. Damit tauchen keine neuen Fehlermeldungen in den logs mehr auf und ich kann normal mails versenden. Ich kann mir allerdings nicht vorstellen, dass das so gewollt ist.
    Docker host ist ein Alpine-Linux, docker-compose führe ich als non-root-user aus.

    • diekuh

      • Community Hero
      • volunteer
      Moolevel 110

    Habe die Docs angepasst:

    2. Clone the master branch of the repository, make sure your umask equals 0022. Please clone the repository as root user and also control the stack as root. We will modify attributes - if necessary - while boostrapping the containers automatically and make sure everything is secured. The update.sh script must therefore also be run as root. It might be necessary to change ownership and other attributes of files you will otherwise not have access to. We drop permissions for every exposed application and will not run an exposed service as root! Controlling the Docker daemon as non-root user does not give you additional security. The unprivileged user will spawn the containers as root likewise. The behaviour of the stack is identical.

    Es bringt keine zusätzliche Sicherheit, mit einem User zu arbeiten, der im Endeffekt auch nur den dockerd steuert, der dann wiederum als root arbeitet/arbeiten muss. Aber: Kein Dienst wird im Container als root ausgeführt!
    Das Update sollte ebenfalls als root ausgeführt werden, da wir währenddessen teilweise Dateien ändern, die einem fremden (teilweise dem Host gänzlich unbekannten) User zugeordnet und nur von diesem - und root - geändert werden können.

    Have something to say?

    Join the community by quickly registering to participate in this discussion. We'd like to see you joining our great moo-community!

    • PPete

        Moolevel 3

      Danke für die Antwort. Wenn ich das richtig verstehe, sollte ich schlicht docker-compose als root auf dem host ausführen und den clone aus dem master branch vorher bei mir auch auch auf root chownen, damit sollte das Problem in Zukunft behoben sein?

      • diekuh

        • Community Hero
        • volunteer
        Moolevel 110

      Jau. 🙂 Wobei mich wundert, warum er über “/usr/lib/postfix/sbin” meckert. Das sind eigentlich Pfade innerhalb des Containers. Sehr komisch.

      Hast du denn schon produktive Daten drin? 🙂

      • PPete

          Moolevel 3

        Jo, läuft alles produktiv, hab damit meinen Zimbra-Server ersetzt und ein paar GB an Daten rübermigriert.
        Bzgl. der Rechtemeckerei: Ich kann es mir eben auch nicht wirklich erklären, warum das ist. Vielleicht als kleines Detail zu meinem Setup: Ich habe die persistent volumes alle als NFS-volumes auf einer ZFS-box eingebunden. root-Zugriff (unter Linux äquivalent zu norootsquash) ist gegeben, der nachträgliche chown würde auch nicht funktionieren, wenn es nicht so wäre. Wenn es hilft, kann ich auch gerne noch meine docker-compose.yml als auch die mailcow.conf hier posten, vielleicht hab ich auch da was falsches drin.

        • PPete

            Moolevel 3

          Hi,

          hab jetzt meinen lokalen branch ge-chown-ed auf root, als root das update-script ausgeführt und siehe da: alles noch schlimmer… container sind nach dem update nicht hochgekommen, hab dann versucht mittels docker-compose up -d sie zu starten, allerdings ging docker-compose plötzlich nicht mehr! Also erstmal docker-compose mittels pip neu installieren, docker-compose up -d, Fehlermeldungen ERROR: for mailcowdockerized_netfilter-mailcow_1 Cannot create container for service netfilter-mailcow: privileged mode is incompatible with user namespaces.
          Hab das docker-compose,yml geprüft, das update-script hat ein paar meiner userns_mode: 'host' rausgeschmissen, andere wiederum drin behalten… also einmal wieder eintragen, so wie vorher, docker-compose up -d, die Kuh ist wieder oben, aber:
          20.5.2020, 09:39:46 err error: unsupported dictionary type: mysql
          20.5.2020, 09:39:46 warning warning: unsupported dictionary type: mysql (/usr/lib/postfix/postfix-mysql.so: file is owned or writable by non-root users)
          20.5.2020, 09:39:46 info daemon started -- version 3.4.8, configuration /opt/postfix/conf
          20.5.2020, 09:39:46 info starting the Postfix mail system
          20.5.2020, 09:39:46 warning warning: symlink leaves directory: /etc/postfix/./makedefs.out
          20.5.2020, 09:39:46 warning warning: not owned by root: /usr/lib/postfix/sbin/./fsstone
          20.5.2020, 09:39:46 warning warning: not owned by root: /usr/lib/postfix/sbin/./lmtp
          20.5.2020, 09:39:46 warning warning: not owned by root: /usr/lib/postfix/sbin/./nqmgr
          20.5.2020, 09:39:46 warning warning: not owned by root: /usr/lib/postfix/./postfix-pcre.so.1.0.1
          20.5.2020, 09:39:46 warning warning: not owned by root: /usr/lib/postfix/./sbin/fsstone
          20.5.2020, 09:39:46 warning warning: not owned by root: /usr/lib/postfix/./sbin/lmtp
          20.5.2020, 09:39:46 warning warning: not owned by root: /usr/lib/postfix/./sbin/nqmgr
          20.5.2020, 09:39:46 warning warning: not owned by root: /usr/lib/postfix/./postfix_groups.pl
          20.5.2020, 09:39:46 warning warning: not owned by root: /usr/lib/postfix/./postfix-mysql.so
          20.5.2020, 09:39:46 warning warning: not owned by root: /usr/lib/postfix/./postfix-mysql.so.1.0.1
          20.5.2020, 09:39:46 warning warning: not owned by root: /usr/lib/postfix/./configure-instance.sh
          20.5.2020, 09:39:46 warning warning: not owned by root: /usr/lib/postfix/./libxsasl.a
          20.5.2020, 09:39:46 warning warning: not owned by root: /usr/lib/postfix/./postfix-pcre.so
          20.5.2020, 09:39:46 warning warning: not owned by root: /usr/lib/postfix/./libmilter.a
          20.5.2020, 09:39:46 warning warning: not owned by root: /usr/lib/postfix/.
          20.5.2020, 09:39:46 warning warning: not owned by root: /etc/postfix/./postfix-script
          20.5.2020, 09:39:46 warning warning: not owned by root: /etc/postfix/./post-install
          20.5.2020, 09:39:46 warning warning: not owned by root: /etc/postfix/./postfix-files.d/pcre.files
          20.5.2020, 09:39:46 warning warning: not owned by root: /etc/postfix/./postfix-files.d/mysql.files
          20.5.2020, 09:39:46 warning warning: not owned by root: /etc/postfix/./makedefs.out
          20.5.2020, 09:39:46 warning warning: not owned by root: /etc/postfix/./sasl
          20.5.2020, 09:39:43 warning warning: /etc/postfix/dynamicmaps.cf: file is owned or writable by non-root users -- skipping this file
          20.5.2020, 09:39:43 warning warning: /etc/postfix/dynamicmaps.cf: file is owned or writable by non-root users -- skipping this file
          20.5.2020, 09:39:43 warning warning: /etc/postfix/dynamicmaps.cf: file is owned or writable by non-root users -- skipping this file
          20.5.2020, 09:28:40 err error: unsupported dictionary type: mysql
          20.5.2020, 09:28:40 warning warning: unsupported dictionary type: mysql (/usr/lib/postfix/postfix-mysql.so: file is owned or writable by non-root users)
          20.5.2020, 09:28:40 info daemon started -- version 3.4.8, configuration /opt/postfix/conf

          Langsam hab ich das Gefühl, das ganze hat mit ein paar Sonderlocken von Alpine zu tun…

          • diekuh

            • Community Hero
            • volunteer
            Moolevel 110

          Komplett einen chown machen ist keine gute Idee.

          Am besten klonst du das ganze Repo noch einmal. Die Volumes bleiben ja erhalten.

          Schau aber, dass die .env ein Symlink zu mailcow.conf bleibt, wenn du das Repo wirklich neu klonst.

          • PPete

              Moolevel 3

            Ich glaube, ich lass das vorerst so, wie es ist und schau mich nach einem anderen Docker HostOS um und setze da alles sauber from scratch auf.
            OT: Irgend ein Tip für ein Docker HostOS? Hab mich schon etwas umgeschaut, fühl mich aber etwas verloren… Ubuntu fällt für mich raus, zu fett und ich mag snap nicht, Fedora CoreOS vom Gefühl her eher nicht, finde das zumindest zu umständlich und zu vage beschrieben, bis das überhaupt mal läuft. RancherOS sieht interessant aus, bin aber auch unsicher, ob das overkill ist.

            • PPete

                Moolevel 3

              So, kurzes Feedback. Hab jetzt einen Docker-Host auf Debian aufgesetzt und dorthin alles migriert. Mailcow hab ich eine saubere Neuinstallation gemacht und danach per imapsync die Mailboxen befüllt. Die oben beschriebenen Probleme existieren nicht mehr. Das scheint also wirklich mit Alpine als Host zusammengehangen haben bzw. die Art, wie Docker unter Alpine implementiert ist.

              • PPete

                  Moolevel 3

                Noch ein kleiner Nachtrag, etwas OT: Bin bei der Migration auf einen bug in Sogo gestoßen, unter bestimmten Umständen lässt sich das Adressbuch, das man aus Sogo exportiert, nicht wieder in Sogo importieren. Hab dazu einen Bugreport im Sogo bugtracker aufgemacht: sogo.nu Icon 0005035: From sogo exported addressbook (ldif) can't be imported in sogo when contacts have no mail-address - SOGo | BTS

                • diekuh

                  • Community Hero
                  • volunteer
                  Moolevel 110

                Coole Sache, danke.

                No one is typing