Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Prawa i znowu prawa ..., mkdir copy move_uploaded_file ...
Nosfi
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 13.10.2004
Skąd: Świnoujście

Ostrzeżenie: (0%)
-----


Witam,

Żeby było jasno nie znalazłem odpowiedzi w poprzednich postach na nurtujący mnie problem dlatego tworzę nowy wątek.

Przeprowadźmy mały eksperyment ...

Pierwszy katalog tworzymy z poziomu php i nadajemy mu wysokie prawa:
  1. <?php
  2.  
  3. $oldumask = umask(0);
  4. mkdir(&#092;"sciezka/folderPHP\", 01777);
  5. umask($oldumask);
  6.  
  7. ?>


Drugi katalog (folderTC) tworzymy w Total Commanderze i nadajemy mu prawa 777.

Jak by nie patrzeć oba katalogi mają takie same prawa.

Następnie przy pomocy formularza i php uploadujemy do obu katalogów plik:

  1. <form method="post" action="<?php $PHP_SELF; ?>" enctype="multipart/form-data">
  2. <input type="file" name="plik">
  3. <input type="submit" value="Wyslij plik">
  4. </form>


  1. <?php
  2.  
  3. copy($_FILES[&#092;"plik\"][\"tmp_name\"],\"sciezka/folderPHP/\". $_FILES[\"plik\"][\"name\"]);
  4.  
  5. copy($_FILES[&#092;"plik\"][\"tmp_name\"],\"sciezka/folderTC/\". $_FILES[\"plik\"][\"name\"]);
  6.  
  7. ?>


Czy użyjemy COPY czy MOVE_UPLOADED_FILE nie ma różnicy.

I teraz ważna rzecz ... mianowicie wynik naszego eksperymentu:

logujemy się na FTP przez Totala i wchodzimy tam gdzie tworzyliśmy katalogi:

folderTC - możemy robić wszystko, zmiana uprawnień, usuwanie folderu, pliów itp ...
folderPHP - nie możemy już nic zrobić, prócz zmiany nazwy katalogu. Dosłownie tracimy wszelkie uprawnienia, nie możemy zmienić praw katalogu, usunąć plików, NIC.

Ciekawe jest to, że pomimo widzianych uprawnień w Totalu '777' w standardowym FTPie mamy uprawnienia:
folderTC - drwxrwxrwx
folderPHP - drwxrwxrwt

Różnica w ostatniej literce ...



Sądze, że coś pominąłem w mojej twórczości i mam nadzieję, że pomoc nadejdzie (szybko biggrin.gif )


--------------------
<?php $Sign=Show->ToMe('Nie ma to jak zimny prysznic'); ?>
<span style="font-weight: bold;">Tools:</span> XAMPP | PHP 5 | MySQL 5 | Notepad++
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
GSulko
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.03.2004

Ostrzeżenie: (0%)
-----


Spróbuj zmienić:

  1. <?php
  2. mkdir(&#092;"sciezka/folderPHP\", 01777);
  3. ?>

na
  1. <?php
  2. mkdir(&#092;"sciezka/folderPHP\", 0777);
  3. ?>


--------------------
Warsztat: Apache 2.0.52 | PHP 5.1.0-dev | 4.3.9RC2 | MySQL 4.0.21
Tools: Mo
Go to the top of the page
+Quote Post
Nosfi
post
Post #3





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 13.10.2004
Skąd: Świnoujście

Ostrzeżenie: (0%)
-----


Ok dziwna sprawa ...

Wcześniej jak robiłem "0777" lub "777" to mi nadawał "411" ... a teraz jest ok ...

Chyba zostane księdzem ...

P.S. Może ktoś wyjaśnić mi różnice w nadawaniu praw plikom i katalogom ?

Dzięki

Ten post edytował Nosfi 15.10.2004, 11:40:33


--------------------
<?php $Sign=Show->ToMe('Nie ma to jak zimny prysznic'); ?>
<span style="font-weight: bold;">Tools:</span> XAMPP | PHP 5 | MySQL 5 | Notepad++
Go to the top of the page
+Quote Post
GSulko
post
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.03.2004

Ostrzeżenie: (0%)
-----


Cytat
Typy praw

W linuxie istnieją tylko trzy typu praw dostępu. W zupełności jednak wystarczają do całkowitej kontroli systemu. Prawo do zapisu pliku (write), pozwala na modyfikacje go, a także na usuwanie, prawo do odczytu (read) daje możliwość przeczytania pliku, ale i skopiowania! Trzeci typ to wykonywanie (execute). Jeśli plik nadaje się do uruchomienia (binaria, skrypty), system go wykona. Nadawanie prawa execute dla zwykłego pliku nie ma sensu, gdyż system nie będzie potrafił go wykonać.

Jeśli chodzi o katalogi to prawo do zapisu pozwala na tworzenie, przenoszenie, usuwanie plików w nim zawartych. Prawo wykonywania daje możliwość wejścia do katalogu poleceniem cd.


Więcej.


--------------------
Warsztat: Apache 2.0.52 | PHP 5.1.0-dev | 4.3.9RC2 | MySQL 4.0.21
Tools: Mo
Go to the top of the page
+Quote Post
Nosfi
post
Post #5





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 13.10.2004
Skąd: Świnoujście

Ostrzeżenie: (0%)
-----


Ja wiem jakie są typy praw, jedynie nie rozumiem jaka jest różnica pomiędzy

777, 0777, 01777 ... wiem, że są zapisy dziesiętne, ósemkowe itp ... tego mi wyjaśniać nie trzeba, ale każde z tych praw jest tylko teoretycznie takie samo ... praktycznie różnią się od siebie ... dlaczego ?

Dzięki


--------------------
<?php $Sign=Show->ToMe('Nie ma to jak zimny prysznic'); ?>
<span style="font-weight: bold;">Tools:</span> XAMPP | PHP 5 | MySQL 5 | Notepad++
Go to the top of the page
+Quote Post
GSulko
post
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.03.2004

Ostrzeżenie: (0%)
-----


Cytat(GSulko @ 2004-10-15 12:44:27)
Cytat
Typy praw

W linuxie istnieją tylko trzy typu praw dostępu. W zupełności jednak wystarczają do całkowitej kontroli systemu. Prawo do zapisu pliku (write), pozwala na modyfikacje go, a także na usuwanie, prawo do odczytu (read) daje możliwość przeczytania pliku, ale i skopiowania! Trzeci typ to wykonywanie (execute). Jeśli plik nadaje się do uruchomienia (binaria, skrypty), system go wykona. Nadawanie prawa execute dla zwykłego pliku nie ma sensu, gdyż system nie będzie potrafił go wykonać.

Jeśli chodzi o katalogi to prawo do zapisu pozwala na tworzenie, przenoszenie, usuwanie plików w nim zawartych. Prawo wykonywania daje możliwość wejścia do katalogu poleceniem cd.


Więcej.

Nie mam linuxa(jeszcze), wiec moge sie nie znać.


--------------------
Warsztat: Apache 2.0.52 | PHP 5.1.0-dev | 4.3.9RC2 | MySQL 4.0.21
Tools: Mo
Go to the top of the page
+Quote Post
Nosfi
post
Post #7





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 13.10.2004
Skąd: Świnoujście

Ostrzeżenie: (0%)
-----


Tak ... OK ale ciągle mówisz o typach ... a mnie interesują różnice ...

mimo wszystko dzięki ...


--------------------
<?php $Sign=Show->ToMe('Nie ma to jak zimny prysznic'); ?>
<span style="font-weight: bold;">Tools:</span> XAMPP | PHP 5 | MySQL 5 | Notepad++
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 06:03