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 UnknownLSL
      Hi guys,
       
      It seems like Wordpress wants to have a loopback configuration for its API.
      "The website wasn't able to finish a loopback request"
      Error: [] cURL error 28: Operation timed out after 10001 milliseconds
      Is it possible to configure that with the current functionality? Following up with the Wordpress support forum, they are not really helpful. They just make it quick with a recommendation to their webhosting sponsors which is very sad, like: "Use one of the webhosters from our list, they will work well."
      Mep.
      Does anybody know how to fix it? I could make it manually with set the customer configuration to "Mail only", but I think that would be a functionality which would affect pretty many users.
       
      Regards and stay healthy,
      UnknownLSL
    • By Marcel -//- AdSoleWare
      Hello.
      I manually installed Froxlor on Debian 8 and tried setting up. i installed php 7.3 in as it was the only missing point. i restarted apache2 and now it wont start. I need help
       
      Error Log:
       
    • By Michael Groß
      Hallo,
      nachdem ich meinen Froxlor-Server neu aufgesetzt habe, habe ich nun ein anderes komisches Problem.
      Ich habe die Konfigurationsschritte vollständig durchgeführt - sicherheitshalber auch zuerst "automatisch" durchführen lassen und danach noch einmal verifiziert.
      Lege ich nun einen Kunden an (http://test.computer-stube.com), verweist dies auf den Root des Servers.
      Schaue ich in die vHost-Datei, steht dort folgendes:
      # 29_froxlor_normal_vhost_test.computer-stube.com.conf # Created 07.02.2020 16:55 # Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel. # Domain ID: 3 - CustomerID: 2 - CustomerLogin: test <VirtualHost 178.63.105.174:80> ServerName test.computer-stube.com ServerAlias *.test.computer-stube.com ServerAdmin Michael.Gross@mgw94.de DocumentRoot "/var/customers/webs/test/" FcgidIdleTimeout 30 SuexecUserGroup "test" "test" <Directory "/var/customers/webs/test/"> <FilesMatch "\.(php)$"> SetHandler fcgid-script FcgidWrapper /var/www/php-fcgi-scripts/test/test.computer-stube.com/php-fcgi-starter .php Options +ExecCGI </FilesMatch> Require all granted AllowOverride All </Directory> LogLevel warn ErrorLog "/var/customers/logs/test-error.log" CustomLog "/var/customers/logs/test-access.log" combined </VirtualHost> # 29_froxlor_ssl_vhost_test.computer-stube.com.conf # Created 07.02.2020 17:26 # Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel. # Domain ID: 3 (SSL) - CustomerID: 2 - CustomerLogin: test <VirtualHost 178.63.105.174:443> ServerName test.computer-stube.com ServerAlias *.test.computer-stube.com ServerAdmin Michael.Gross@mgw94.de SSLEngine On SSLProtocol -ALL +TLSv1 +TLSv1.2 SSLCompression Off SSLHonorCipherOrder off SSLCipherSuite ECDH+AESGCM:ECDH+AES256:!aNULL:!MD5:!DSS:!DH:!AES128 SSLVerifyDepth 10 SSLCertificateFile /etc/ssl/certs/apache.crt SSLCertificateKeyFile /etc/ssl/private/apache.key <IfModule mod_headers.c> Header always set Strict-Transport-Security "max-age=0" </IfModule> DocumentRoot "/var/customers/webs/test/" FcgidIdleTimeout 30 SuexecUserGroup "test" "test" <Directory "/var/customers/webs/test/"> <FilesMatch "\.(php)$"> SetHandler fcgid-script FcgidWrapper /var/www/php-fcgi-scripts/test/test.computer-stube.com/php-fcgi-starter .php Options +ExecCGI </FilesMatch> Require all granted AllowOverride All </Directory> LogLevel warn ErrorLog "/var/customers/logs/test-error.log" CustomLog "/var/customers/logs/test-access.log" combined </VirtualHost> Also an sich ist die richtige Konfiguration hinterlegt.
      Im Cron ist folgendes konfiguriert:

      # automatically generated cron-configuration by froxlor # do not manually edit this file as it will be re-generated periodically. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # */5 * * * * root /usr/bin/nice -n 5 /usr/bin/php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --tasks 1> /dev/null 0 0 * * * root /usr/bin/nice -n 5 /usr/bin/php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --traffic 1> /dev/null 5 0 * * * root /usr/bin/nice -n 5 /usr/bin/php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --usage_report 1> /dev/null 0 */6 * * * root /usr/bin/nice -n 5 /usr/bin/php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --mailboxsize 1> /dev/null */5 * * * * root /usr/bin/nice -n 5 /usr/bin/php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --letsencrypt 1> /dev/null 10 0 * * * root /usr/bin/nice -n 5 /usr/bin/php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --backup 1> /dev/null Auch das manuelle Ausführen mittels "
      php /var/www/froxlor/scripts/froxlor_master_cronjob.php --force bringt bei mir leider keinen Erfolg.
      Die Ausgabe vom debug ist wie folgt:
      root@lx001:/etc/apache2/sites-enabled# php /var/www/froxlor/scripts/froxlor_master_cronjob.php --force --debug [information] TasksCron: Searching for tasks to do [information] Running Let's Encrypt cronjob prior to regenerating webserver config files [information] Requesting/renewing Let's Encrypt certificates [information] No new certificates or certificates due for renewal found [information] apache::createIpPort: creating ip/port settings for 178.63.105.174:80 [notice] 178.63.105.174:80 :: namevirtualhost-statement no longer needed for apache-2.4 [debug] 178.63.105.174:80 :: inserted vhostcontainer [information] apache::createIpPort: creating ip/port settings for 178.63.105.174:443 [debug] 178.63.105.174:443 :: inserted vhostcontainer [information] apache::createVirtualHosts: creating vhost container for domain 3, customer test [information] apache::writeConfigs: rebuilding /etc/apache2/sites-enabled/ [information] apache::writeConfigs: rebuilding /etc/apache2/htpasswd/ [information] apache::writeConfigs: rebuilding /etc/apache2/sites-enabled/ [information] Froxlor\Cron\Http\ApacheFcgi::reload: reloading Froxlor\Cron\Http\ApacheFcgi [notice] Creating passwd file [notice] Writing 1 entries to passwd file [notice] Succesfully wrote passwd file [notice] Creating group file [notice] Writing 1 entries to group file [notice] Succesfully wrote group file [notice] Creating shadow file [notice] Writing 1 entries to shadow file [notice] Succesfully wrote shadow file [notice] Checking system's last guid  
      Ich fühle mich gerade echt dämlich, kann ja eigentlich nicht so schwer sein, da es eigentlich ja alles nur "Copy+Paste" ist
      Das Endverzeichnis wurde jedoch korrekt angelegt:
      root@lx001:/var/customers/webs# ls test root@lx001:/var/customers/webs# cd test root@lx001:/var/customers/webs/test# ls index.html webalizer Ich habe zusätzlich zur "Standardkonfiguration" noch libnss-extrausers und FCGID  eingerichtet, da ich ältere PHP Versionen benötige.
      Grüße
      Michael
    • 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. 
×
×
  • Create New...