hoe bestand in map plaatsen via copy?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 volgende »

- Ariën  -
Beheerder

- Ariën -

29/08/2023 13:46:01
Quote Anchor link
Een bestand/directory aanmaken met PHP is heel wat anders dan uploaden hoor.
Het eerste is lokaal, en het tweede is een externe actie.
 
PHP hulp

PHP hulp

26/12/2024 19:40:55
 
Paul Weiss

Paul Weiss

29/08/2023 14:11:52
Quote Anchor link
he arien. ja klopt inderdaad. ook geen optie.

heb het al gevonden. bij het aanmaken van de directory moet ik de rechten aanpassen.

if ( !file_exists($dir) ) {
mkdir ($dir, 0744);
}


nu nog rechten aanpassen voor de bestanden in deze map

Toevoeging op 29/08/2023 14:58:41:

is nu allemaal gelukt. het hele probleem waren dus de rechten van de aangemaakte directory.
Bij een directory die ik vooraf via ftp zelf had aangemaakt stonden de rechten dus al gelijk goed.
Weer wat geleerd. topic mag als het aan mij ligt worden gesloten. Iedereen nog hartelijk dank voor de hulp en advies.
Gewijzigd op 29/08/2023 14:59:25 door Paul Weiss
 
- Ariën  -
Beheerder

- Ariën -

29/08/2023 15:02:30
Quote Anchor link
Het kan zijn dat 777 niet geaccepteerd werd omdat dit gevaarlijk is. Je wilt NOOIT ALLE rechten geven voor jan en alleman.
755 is overigens voldoende voor de rechten. Misschien werd die wel toegekend als je de parameter voor de chmod-rechten in mkdir() achterwege liet. Elke server is immers anders geconfigureerd.
Gewijzigd op 29/08/2023 15:03:30 door - Ariën -
 
Paul Weiss

Paul Weiss

29/08/2023 15:05:51
Quote Anchor link
bedankt. ja ik had het intussen al gewijzigd in 0755. dat is dan prima?
Ik kan nu in ieder geval de directory openen en lezen ook.
 
- Ariën  -
Beheerder

- Ariën -

29/08/2023 15:24:10
Quote Anchor link
Prima! :-)
 
Ivo P

Ivo P

29/08/2023 21:06:29
Quote Anchor link
ik denk dat 0777 beter had gewerkt dan 777.

Die 0 geeft hier aan dat het om ocale getallen gaat. (een tal-stelsel dat maar tot 7 kan tellen, zoals het meer gebruikelijke decimale stelsel 9 als hoogste heeft.)


0777 is
7 * 8 * 8 * +
7 * 8 +
7
= 511

https://www.php.net/manual/en/function.chmod.php
en https://www.rapidtables.com/convert/number/octal-to-decimal.html

Dat verklaart meteen waarom 7 voor alle rechten staat: alle bitjes in de byte staan aan.

111 in Binair staat voor 7 (1*2*2 + 1*2 + 1)



Toevoeging op 29/08/2023 21:07:42:

maarhe, zet altijd die error reporting aan. Ook voor simpele scriptjes. Je wordt dan meteen om de oren geslagen met foutmeldingen en warnings, ipv je blindstaren op "waarom werkt het toch niet?"
 
Paul Weiss

Paul Weiss

29/08/2023 22:39:31
Quote Anchor link
He Ivo. Bedankt voor de input. Je hebt helemaal gelijk. error report altijd aanzetten. Moet een gewoonte worden. Loop inmiddels door dit alles wel tegen een ander probleem aan. enkele direcory's aangemaakt met 755 kan ik niet meer verwijderen, ook niet vanuit de control panel op de server. heel vreemd. als ik 0755 gebruik wel. wat is het verschil!!
Gewijzigd op 29/08/2023 22:40:14 door Paul Weiss
 
- Ariën  -
Beheerder

- Ariën -

29/08/2023 22:41:56
Quote Anchor link
@Ivo P

De notatie met voorloop-nul isprima. maar het neemt niet weg dat chmod (0)777 wel gevaarlijk is, en niet te adviseren is:
https://askubuntu.com/questions/20105/why-shouldnt-var-www-have-chmod-777

Dit artikel gaat overigens niet alleen over het pad naar /var/www/, maar in het algemeen over alles. Het feit dat Paul (0)777 gebruikte, en alsnog een 'permission denied' kreeg, lijkt mij een beveiligingsmechanisme. Misschien SElinux? En maar goed dat dit draait.

Toevoeging op 29/08/2023 22:43:36:

Paul Weiss op 29/08/2023 22:39:31:
He Ivo. Bedankt voor de input. Je hebt helemaal gelijk. error report altijd aanzetten. Moet een gewoonte worden. Loop inmiddels door dit alles wel tegen een ander probleem aan. enkele direcory's aangemaakt met 755 kan ik niet meer verwijderen, ook niet vanuit de control panel op de server. heel vreemd. als ik 0755 gebruik wel. wat is het verschil!!

Ik vermoed een ownership verhaal. Zie mijn vorige stukje script om te zien wie de owners zijn van een bestand, en mogelijk werkt een map ook.
 
Paul Weiss

Paul Weiss

29/08/2023 22:45:02
Quote Anchor link
he arien. ik heb niet 0777 gebruikt he.
Gewijzigd op 29/08/2023 22:45:54 door Paul Weiss
 
- Ariën  -
Beheerder

- Ariën -

29/08/2023 23:02:24
Quote Anchor link
je kan die chmod dan toch aanpassen, zodat je ze kan verwijderen?
 
Paul Weiss

Paul Weiss

29/08/2023 23:07:31
Quote Anchor link
de rechten in filezilla kan ik aanpassen, maar worden op 1 op 1 of andere manier niet opgelagen. hij veranderd ze steeds terug in 340. zou ik dan via php de rechten op dit bestand moeten corrigeren of zo? waarom kan dat niet via filezilla?
 
- Ariën  -
Beheerder

- Ariën -

29/08/2023 23:25:55
Quote Anchor link
Filezilla heeft gewoon ondersteuning voor chmod. maar als de rechten naar jouw idee niet lekker in elkaar steken, dan kan je beter je hostingprovider eens vragen.

In het verre verleden had ik ook troubles dat in PHP aangemaakte mappen vreemde rechten hadden, met apache of www als owner, en via het aanmaken vanuit FTP wel netjes mijn username had. Het resultaat was dat ik geregeld de boel door hun moest laten resetten. Later kon dit via een knopje in het hosting controle paneel DirectAdmin: 'Change ownership'.
Daar deed deze situatie mij aan denken.

Dus kijk ook naar je owners.
 
- SanThe -

- SanThe -

30/08/2023 09:59:00
Quote Anchor link
Paul Weiss op 29/08/2023 23:07:31:
hij veranderd ze steeds terug in 340.


Als dat de rechten zijn dan kan alleen de root gebruiker ze aanpassen.
Dat is dus je hostingsbedrijf.
 
Paul Weiss

Paul Weiss

30/08/2023 10:37:51
Quote Anchor link
Bedankt. heb inmiddels al contact gehad met de provider om deze map te verwijderen. het is strato. echt een waardeloze partij ook.

Toevoeging op 30/08/2023 10:37:55:

Bedankt. heb inmiddels al contact gehad met de provider om deze map te verwijderen. het is strato. echt een waardeloze partij ook.
 
- Ariën  -
Beheerder

- Ariën -

30/08/2023 10:40:18
Quote Anchor link
Dat is inderdaad geen goede hosting.
Maar heb je al naar de ownership gekeken?
 
Ivo P

Ivo P

30/08/2023 11:00:30
Quote Anchor link
als apache de map aanmaakt met alleen schrijf (en verwijder)rechten voor zichtzelf, dan kan jouw FTP user de map niet verwijderen.
En het is niet heel erg onlogisch natuurlijk dat jij op andermans map (van Apache) niet andere schrijfrechten mag zetten.

Dat zou het hele effect van users en userrechten onderuit halen.

Als Apache de map aanmaakt, dan kan Apache deze ook verwijderen. Als je de map aanmaakt en jezelf geen schrijfrechten geeft, dan kun je als het goed is (als eigenaar) nog steeds jezelf wél de juiste rechten geven.

Decimaal 777 zou in octaal 01411 zijn. Ik vermoed dat dan die 4 op de rechten van de owner komen (ipv de beoogde 07).

chown is een bestaande functie, maar omdat dat de bijl zet in het hele rechtensysteem van Linux mag je alleen met Root-rechten (sudo) op de server dit commando uitvoeren.

Maar het zou op te lossen moeten zijn met een klein PHP script dat de map eerst chmod naar rechten rwx voor de owner en dan de map verwijdert (indien leeggemaakt).

Hoe dan ook:
Het wordt op een shared hosting server lastig om zowel Apache als jouw FTP user voldoende rechten te geven op die dynamisch aangemaakte mappen, zonder alle users op de server toegang te geven.

WAAROM heb je het nodig?
Wat voor soort bestanden ga je erin zetten dat je deze ellende (en die eerder aangehaald) over je wilt afroepen?
 
Paul Weiss

Paul Weiss

31/08/2023 09:57:57
Quote Anchor link
Bedankt voor de input. hoe rechten verlenen en ownership krijgen etc. is voor mij nog vrij nieuw hoe dit allemaal in elkaar zit. appache ben ik ook nog niet echt bekend mee. Ben ook nog niet zo heel lang bezig met php uiteraard. Heb daar in het verleden eigenlijk ook nooit mee te naken gehad namelijk. Maar nu met aanmaken mappen etc. zal ik mij daar wel meer in gaan verdiepen de komende tijd. Maar welke chmod rechten zou ik dan via een php scriptje aan de directory / bestand moeten toekennen? En hoe verkrijg ik ownership precies?. Dacht dat alles gewoon met filezilla wel te verwijderen zou moeten zijn, aangezien ik toch owner ben (moet immers inloggen daarvoor). Maar misschien zie ik het allemaal te simpel.
 
- Ariën  -
Beheerder

- Ariën -

31/08/2023 10:02:47
Quote Anchor link
Normaal gesproken moet er geen frictie zijn, en moet de owner gelijk zijn.

Heb je al gecontroleerd WIE de owner is? Of blijft dat geheim? Het scriptje had ik een paar dagen geleden geplaatst.
 
Paul Weiss

Paul Weiss

31/08/2023 10:07:18
Quote Anchor link
ik heb het zelf gewoon aangemaakt via een php script. Was gewoon een test. maar het gebeurde doordat ik er geen voorloop 0 voor heb gezet dus 755. ip.v. 0755 Als ik nu inlog met filezilla ben ik toch degene met de hoogste rechten?
 
- Ariën  -
Beheerder

- Ariën -

31/08/2023 10:25:25
Quote Anchor link
Geen idee. Elke server is anders. Kijk eens wie de owner is i.p.v. te gissen.
Meten is weten!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$target
= "iets/bestand.php";
print_r(posix_getpwuid(fileowner($target)));
?>
Gewijzigd op 31/08/2023 11:02:35 door - Ariën -
 

Pagina: « vorige 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.