Jump to content
Froxlor Forum
  • 0
tmuecksch

[Debian 9][Apache 2] Permissions Probleme

Question

Guten Tag,

ich habe einen Debian 9 Server mit Froxlor und Apache2 am laufen. Wenn ich mit dem Kunden FTP Zugang Dateien hochlade haben diese Ordnungsgemäß das ownership 10000:10000.

Wenn jedoch in der PHP-Weboberfläche eine Datei hochgeladen wird, wird diese mit dem ownership www-data:www-data hochgeladen. Liegt hier ein Konfigurationsfehler vor oder ist das Verhalten sogar so gewünscht? Ich kann den Fehler leider nicht entdecken. Das Problem ist nur, dass das PHP-Script dann eine Permission Denied Fehlermeldung wirft, wenn versucht wird die Datei zu lesen.

 

Liebe Grüße
tmuecksch

Share this post


Link to post
Share on other sites

16 answers to this question

Recommended Posts

  • 1

--w--w--w- ist ja Quatsch.... Schreiben aber nicht lesen? Deine umask ist wohl kaputt

Share this post


Link to post
Share on other sites
  • 1

Ja das die Dateien von www-data angelegt werden wenn du was hochlädst via http und mod_php nutzt ist das klar...aber BERECHTIGUNGEN sollten passen, denn der User www-data wird als gruppenmitglied des Kunden-Users hinzugefügt, der sollte also da ran dürfen

Share this post


Link to post
Share on other sites
  • 0

Du nutzt wohl mod_php, dabei sollte aber eigentlich der Webserver User (www-data) in der Gruppe des Users sein, damit er auch die Daten ändern kann. Hast du libnss-mysql/extrausers installiert und konfiguriert?

Share this post


Link to post
Share on other sites
  • 0

Danke für Deine Antwort!

Hier zunächst mal zu Einfachheit meine via apt-get installierten Pakete, sofern das für Dich interessant ist: https://pastebin.com/ExwSc9HY 
Hier noch meine aktivierten Apache modshttps://pastebin.com/fQagdrxG

Weder bei libnss-mysql noch bei extrausers klingelt es bei mir.

Der Server ist erst vor kurzem installiert worden, dazu habe ich ein reines Debian Image genutzt und dann Froxlor gemäß der Anleitung im Wiki und gemäß der Anweisungen in der Admin-UI unter Konfigurationen installiert. Das Einzige was ich darüber hinaus noch gemacht habe ist php-memcache zu installieren, da unser Wordpress ohne nicht funktioniert hat.

 

Share this post


Link to post
Share on other sites
  • 0

Dann installiere und konfiguriere libnss-extrausers wie in den Konfigurations Templates und aktiviere die Einstellung "nutze libnss-extrausers" in den Einstellungen. Dann sollte das Problem mit den Berechtigungen eigentlich behoben sein

Share this post


Link to post
Share on other sites
  • 0
12 minutes ago, d00p said:

aber BERECHTIGUNGEN sollten passen, denn der User www-data wird als gruppenmitglied des Kunden-Users hinzugefügt, der sollte also da ran dürfen

Trotz installation und Aktivierung in den Einstellungen bleibt das Permissions problem.

Ich habe mal einen Screenshot einer hochgeladenen Datei beigefügt. Sie wird mit "--w--w--w- 1 www-data    www-data" erstellt... 

Bildschirmfoto 2018-10-23 um 16.53.15.png

Share this post


Link to post
Share on other sites
  • 0

Danke für den Hinweis, das Stichwort umask hat mir gefehlt.

sudo -u www-data touch foo

erstellt Daten mit korrekten Rechten (-rw-r--r--).

Laut diversen Google-Ergebnissen soll es helfen in "/etc/apache2/envvars" eine umask option "umask 002" einzufügen (+ apache2 Neustart versteht sich). Auch das hilft leider nicht. Ich google mal weiter...

Share this post


Link to post
Share on other sites
  • 0

@Neutrino Danke für den Tipp. Auch das zeigt leider keine Wirkung.

Mittlerweile bin ich auch noch mal einen Schritt weiter. Ich habe mit folgendem Script mal getestet wie von PHP Dateien angelegt werden:

<?php
if ($fp = fopen(time() . '.txt', 'w')) {
  fwrite($fp, 'This is a simple test.');
  fclose($fp);
  echo "done";
} else {
  echo "error - cannot create file";
}

Quelle: https://serverfault.com/questions/383734/how-do-i-set-default-umask-in-apache-on-debian

Und mit diesem Script werden die Dateien korrekt angelegt. Das heißt, es muss ein Wordpress-Problem und kein Konfigurationsld00problem sein.

 

@d00p Vielen dank für's in die Richtige Richtung schubsen.

Share this post


Link to post
Share on other sites
  • 0

Hallo,

 

ich stehe genau vor dem gleichen Problem. Die Ordner der Kunden sind mit userid 10000 angelegt. Die Namen der Kunden werden dank libnss-extrausers übersetzt. ich verwende mod_php und apache mit user www-data. Leider lässt der Webserver mich keine Dateien in diese Ordnerstruktur hochladen. Ändere ich die rechte auf www-data:www-data klappt alles. 

Das Testscript oben zeigt wie zu erwarten: "error - cannot create file"

Was mache ich denn hier falsch?

 

Danke

Share this post


Link to post
Share on other sites
  • 0
44 minutes ago, s20 said:

Hallo,

 

ich stehe genau vor dem gleichen Problem. Die Ordner der Kunden sind mit userid 10000 angelegt. Die Namen der Kunden werden dank libnss-extrausers übersetzt. ich verwende mod_php und apache mit user www-data. Leider lässt der Webserver mich keine Dateien in diese Ordnerstruktur hochladen. Ändere ich die rechte auf www-data:www-data klappt alles. 

Das Testscript oben zeigt wie zu erwarten: "error - cannot create file"

Was mache ich denn hier falsch?

 

Danke

dann ist der user www-data vllt nicht in der gruppe des kunden? Was sagt denn

id

id www-data

und 

id [username-des-kunden]

Dazu bitte ein ls -la des Kunden-Homedirs und evtl. Fehlermeldungen aus der apache log oder sys log

Share this post


Link to post
Share on other sites
  • 0

Hier die Infos.

 

id www-data

uid=33(www-data) gid=33(www-data) groups=10000(KUNDE),10001(KUNDE2),33(www-data)
 

id KUNDE

uid=10000(KUNDE) gid=10000(KUNDE) groups=10000(KUNDE)
 

ls -la /var/customers/webs/KUNDE/KUNDE.de
total 240
drwxr-xr-x  7 KUNDE KUNDE  4096 Jul 16 16:51 .
drwxr-xr-x 15 KUNDE KUNDE  4096 Jul 16 16:39 ..
-rw-r--r--  1 KUNDE KUNDE   817 Jul 16 14:42 .htaccess
-rw-r--r--  1 KUNDE KUNDE   420 Mar  5 13:25 index.php
 

Share this post


Link to post
Share on other sites
  • 0
Just now, s20 said:

uid=33(www-data) gid=33(www-data) groups=10000(KUNDE),10001(KUNDE2),33(www-da

joa, ist aber in der gruppe....aber deine permissions sagen: nur der owner darf schreiben, nicht die group.... (rwx <> r-x)

Share this post


Link to post
Share on other sites
  • 0

Danke für deine Hilfe, du hast vollkommen Recht.

 

find /var/customers/webs/KUNDE/ -type d -exec chmod 775 {} \;

 

bringt Abhilfe.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By MasterOfDeath
      Hello all,
      I deleted my old debian 7 and updated everything to new versions. However some problems exists and i cannot access my webpages.
      I did everything according to wiki pages and froxlor configurations but still some errors exists in below and not showing pages properly - only froxlor default page shown
      ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) (Result: exit-code) since Tue 2019-04-16 23:48:14 +03; 53min ago Process: 4850 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS) Process: 5958 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=1/FAILURE) Process: 4858 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 4862 (apache2) Tasks: 13 (limit: 4915) CGroup: /system.slice/apache2.service ├─4862 /usr/sbin/apache2 -k start ├─4863 /usr/sbin/apache2 -k start ├─4864 /usr/sbin/apache2 -k start ├─4867 /usr/sbin/apache2 -k start ├─4868 /usr/sbin/apache2 -k start ├─4869 /usr/bin/php-cgi -c /var/www/php-fcgi-scripts/froxlor.panel/v22000.local/ ├─4874 /usr/sbin/apache2 -k start ├─4877 /usr/sbin/apache2 -k start ├─4878 /usr/sbin/apache2 -k start ├─4879 /usr/sbin/apache2 -k start ├─4880 /usr/sbin/apache2 -k start ├─4940 /usr/sbin/apache2 -k start └─5740 /usr/sbin/apache2 -k start Apr 16 23:48:14 v2201412723521843 systemd[1]: Started The Apache HTTP Server. Apr 17 00:33:51 v2201412723521843 Froxlor[4869]: [Administrator Action admin] [information] rebuild configfiles due to changed setting Apr 17 00:34:45 v2201412723521843 Froxlor[4869]: [Administrator Action admin] [information] added user 'kaptan' Apr 17 00:35:16 v2201412723521843 Froxlor[4869]: [Administrator Action admin] [information] added domain 'kaptan.xyz' Apr 17 00:36:28 v2201412723521843 systemd[1]: Reloading The Apache HTTP Server. Apr 17 00:36:29 v2201412723521843 apachectl[5958]: AH00543: apache2: bad user name kaptan Apr 17 00:36:29 v2201412723521843 apachectl[5958]: Action 'graceful' failed. Apr 17 00:36:29 v2201412723521843 apachectl[5958]: The Apache error log may have more information. Apr 17 00:36:29 v2201412723521843 systemd[1]: apache2.service: Control process exited, code=exited status=1 Apr 17 00:36:29 v2201412723521843 systemd[1]: Reload failed for The Apache HTTP Server. ls -al /var/customers/webs/ total 1494612 drwxr-xr-x 9 root root 4096 Apr 17 00:36 . drwxr-xr-x 6 root root 4096 Apr 13 11:00 .. -rw-r--r-- 1 root root 1530439729 Apr 12 20:09 all_backup.zip drwxr-x--- 3 10009 10009 4096 Apr 17 00:39 kaptan drwxr-x--- 7 10002 10002 4096 Apr 13 18:41 kaptans drwxr-xr-x 8 root root 4096 Apr 13 18:55 NOTactiveWEB drwxr-x--- 3 10007 10007 4096 Apr 14 19:24 test  
    • By LostNIL
      Greetings,
      I have Froxlor installed with PHP7.2 and need to install/enable PHP7.2-fpm. I've reviewed the wiki, The Froxlor YouTube video on the subject, and reviewed/completed the instructions within the Panel > Configuration > DB Jessie > Other > FPM and am having difficulties getting the panel to work with FPM. 
      All available instructions are written for PHP5 and when I complete the instructions and substitute PHP7.2, when the panel generates configurations there are syntax errors and the websites go down. 
       
      Does anyone have any pointers or updated instructions on enabling FPM/PHP7+ with Froxlor. 
    • By tmuecksch
      Hallo liebe Community.
      Ich habe einen neuen Debian 9.4 Server aufgesetzt und Froxlor installiert (gemäß Wiki). Nach Durchführung aller notwendigen Konfigurationsschritte hat Froxlor wie gewohnt funktioniert. Anschließend habe ich ein SSL Zertifikat hochgeladen und in Froxlor, unter Einstellungen > SSL-Einstellungen  habe ich SSL aktiviert und die Pfade Zertifikatfiles angegeben. Anschließend habe ich eine einen neuen Eintrag unter IPs und Ports konfiguriert mit Port 443.
      Nach Generierung der neuen Config Files durch Froxlor ist folgender Fehler aufgetreten, der Apache nicht mehr starten lässt.
      May 17 09:50:14 X.de apachectl[1516]: (99)Cannot assign requested address: AH00072: make_sock: could not bind to address X:443 May 17 09:50:14 X.de apachectl[1516]: no listening sockets available, shutting down  
      Also würde ja nahe liegen, dass der Socket in Verwendung ist (was bei einem frischen Debian doch unwahrscheinlich ist)
      ➜ ~ netstat -tlpn | grep 443 ➜ ~ Der Port ist, wie wir sehen nicht in Verwendung. 
       
      ➜ ~ grep -r "Listen" /etc/apache2/ /etc/apache2/sites-enabled/10_froxlor_ipandport_X.443.conf:Listen X:443 /etc/apache2/ports.conf:Listen 80 /etc/apache2/ports.conf: Listen 443 /etc/apache2/ports.conf:# Listen 443 Man könnte nun vermuten, dass die beiden Listen 443 Einträge in der ports.conf den Fehler verursachen. Doch weit gefehlt. Wenn ich die beiden Einträge entferne ändert das nichts.
       
      Der Fehler lässt sich nur beheben wenn ich in der folgenden Datei die Zeile "Listen X:443" manuell lösche:
      # 10_froxlor_ipandport_X.443.conf # Created 17.05.2018 09:49 # Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel. Listen X:443 <VirtualHost X:443> DocumentRoot "/var/www/" ServerName Z.de SSLEngine On SSLProtocol -ALL +TLSv1 +TLSv1.2 SSLCompression Off SSLHonorCipherOrder On SSLCipherSuite ECDH+AESGCM:ECDH+AES256:!aNULL:!MD5:!DSS:!DH:!AES128 SSLVerifyDepth 10 SSLCertificateFile /etc/letsencrypt/live/Z.de/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/Z.de/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/Z.de/chain.pem </VirtualHost>  
      Wie kann das sein? Wieso generiert Froxlor eine nicht funktionierende VHost Config? Habe ich vielleicht was falsch gemacht? Ist der Fehler schon bekannt?
       
      P.S: Meine IP Adresse und Domain habe ich durch Großbuchstaben ersetzt.
       
    • By nisamudeen97
      Hi,
      We wish to enable HTTP/2 support in our forxlor server which is currently running apache server version "Server version: Apache/2.4.10 (Debian)".    Debian GNU/Linux 8 \n \l
      https://http2.pro/doc/Apache
      Has any one tried to enable the same in forxlor ?  We are running shared hosting.  Look forward to have detailed update.
       
    • By veto
      have now successfully a default froxlor + apache2 + mod_apache + php7  running.
      the problem is now that some php webapps are not supporting php7.
      i read the debian9 can run multiple php version 
      and i installed php 5.6 with
      apt-get install apt-transport-https curl https://packages.sury.org/php/apt.gpg | apt-key add - echo 'deb https://packages.sury.org/php/ stretch main' > /etc/apt/sources.list.d/deb.sury.org.list apt-get update https://pehapkari.cz/blog/2017/03/27/multiple-php-versions-the-easy-way/
      the manual is for nginx.
      i want now to run all virtual host with the default mod_php apache2 setting from froxlor but for some virtualhosts
      use another php handler like  php5.6-cgi or php5.6-fmp.
      there so many different setting possible and with the decaying search quality it difficult to find a staring point
       
       
       




×
×
  • Create New...