viem ze adresare aj subory maju atributy - prava v tvare
drvxrvxrvx
d - adresar
rvx - r/w/x pre Vlastnika, Skupinu, Svet
1) Moja prva otazka je, ze co znamenaju tie veci VLASTNIK, SKUPINA a SVET?
2) Do akej skupiny patria skritpy? (doteraz som si myslel ze skritp je vlastnik, lenze ked som mal nastavene prava na -rvx---r-- tak vyplulo permition denied... nejedna sa o server webzdarma.cz ale predpokladam ze by to malo byt rovnake.. alebo nie?)
3) Do akej skupiny patri clovek ktory si spusti prehliadac a rucne zada adresu nejakeho suburu a pokusi sa ho trebars otvorit? (tipujem ze je SVET)
4) Co znamena webusers a do akej skupiny patri?
5) je moja stranka nebezpecna ak mam vseeetky adresare, podadresare a subory nastavene na ?rvxrvxrvx?
mam v tom uplny zmetok.. doteraz som mal vsetko na ?rvxrvxrvx ale potom som uvazoval ze to asi nieje dobre preto som to dal na ?rvx---r-- no odrazu mi prestali xodit vseeetky skripty - reps. casti skritpov ktore pracuju so subormi (ci uz s .txt alebo .jpg).
Prosim poradte.
= palino (nasatrieda.webz.cz) =
http://cz2.php.net/nazevfunkce, cili
http://cz2.php.net/chmod
jinak se jedna o linuxovy typ opravneni, kdy
vlastnik = pouze ten, komu soubor/adresar patri + admin
skupina = znamena, ze se souborem muze pracovat i nekdo jiny, ktery je v nejake skupine.
Treba si udelas skupinu rodina a nastavis jim pristup na tvuj adresar, kde zaskrtas pro 2 soubory prava skupina+read a na dalsich 5 prava skupina nedas. Tim paden oni vidi jen 2 soubory
svet = ze kdokoliv (kdo neni v zadne skupine nebo ma opravneni svet) si muze s danym souborem/adresarem neco delat (cist,psat,editovat)
nastaveni skupin se myslim da menit v .htaccess souboru
zkus se podivat po PHP commander, ten ma i jakousi cestinu a tam by to melo byt zajimave udelane :)
ok ale otazka je este ze do ake ma prava samotny skript?
v root adresari mam skirpt subor.php v ktorom fopen("data/text.txt","w") pisem/vytvaram subor text.txt v adresari data
ake musi mat prava adresar data aby som v nom mohol vytvarat subor prostrednictvom skriptu subor.php ? (=to ktorej "skupinky" patri skript?)
povedal si ze VLASTNIK je "pouze ten, komu soubor/adresar patri + admin" co to znamena ze "komu subor patri" ? Ako zistim komu patri? (neovladam linux, takze plz keby ste mi to niekto vysvtelili po lopate ako to mam nastavit) ked sa pripojim cez FTP a rucne dam vytvorit adresar, bude patrit VLASTNIKOVI? ked vytvorim adresar/subor pomocou skirptu,komu bude patrit?
chmod == 0777 je uplne povoleni zapisu vsem a nemusis se o nic starat to znamena mkdir($adresar_cesta, 0777); dale moznost nastaveni chmod($adresar_cesta, 0777);
// pripadny popis
400 Owner Read
200 Owner Write
100 Owner Execute
40 Group Read
20 Group Write
10 Group Execute
4 Global Read
2 Global Write
1 Global Execute
= palino (nasatrieda.webz.cz) =
Viz certcv (certcv.wz.cz), neres, nastav 0777 :)
Pokud chces scriptem vytvaret neco, tak script patri do SVET.
Protoze vlastnik je ten, kdo je nalogovany na ftp a login na ftp mas jen tebe samotneho. Ale protoze script neni nijak nalogovany, tak samozrejme nemuze nic delat.
Ale pro jistotu, kdyby meli na hostingu jinak, bych nastavil plna prava. Pokud nemas v umyslu neco skryvat, treba z nepristupnit adresar foto a pod. Ale to se resi myslim pres ".htaccess" soubor.
U windows to treba funguje tak, ze default mas prava ke vsemu a vsechna omezeni se definuji zvlast. Takze pro windosaky naprosty sok, kdyz jim nic nedovoli :) Na druhou stranu, diky omezeni prav se tam pak nespousteji viry ani nezapisuji. Hlavni adresare maji treba nastaveni vlastnik a tim padem, pokud nemas prava typu admin, tak si neskrtnes.
ok nastavim prava na 777 , cize skripty mi tam moze vytvarat subory.. ale otazka je.. moze ich vytvarat aj priamo niekto? resp. moze existujuce subory mazat/editovat? toto ma serie.. ja kcem aby sa ti subory dali vytvarat skriptom, aby ich ten skritp vedel nacitat a spracovat ale aby neboli zapisovatelne rucne.. cize neda sa to? (resp. iba cez .htaccess ze si ich nepovolim.. lenze ked si ix vytvaram dynamicky?)
ok, polozim otazku inak, priamo:
Ako to riesite vy? - diskusiu (viem ze sa da cez db, ale nevyhovuje mi to) a ako riesite Fotofaleriu (mam dynamicku fotogaleriu, kde nalogovany uzivatelia mozu vytvrata galerie a pridavat do nich fotky)?
Zkusím to vysvětlit jednoduše. Skripty běží pod php a "uživatel" je php demon. FTP je jiný uživatel. Proto se stává, že když vytvoříš adresář přes FTP, php skript tam nemůže zapisovat. Toto je ochrana, který takto funguje na unixech. Pokud tě to víc zajímá, najdi si informace o souborových systémech na unixech.
Taky mám dynamickou fotogalerii. Adresář "galerie" má příznaky 777. Pokud tam fotky nahraji přes skript, funguje to bez problémů. Problém nastává, pokud tam fotky nahráváš přes FTP a pak k nim přistupuješ ze skriptu. V tomto případě po nahrání jim změním atributy na 666 a je po problémech. (Nastavovat příznak x je zbytečné, fotky nejsou spustitelný kód). Tudíž všechny fotky ve fotogalerii mají příznaky 666.
= palino (nasatrieda.webz.cz) =
Evidentne nechapes linux. Takze najdi si na inetu linux-live-cd, udelej si nejakou linux partition na disku, pripadne i swapak a vyzkousej si to. Udelej si uzivatee, skupiny a vyzkousej si, jak jako USER muzes nabourat system tak, abys mel ADMIN prava. To hodne stesti :) To je u unixu celkem slozita zalezitost a pravdepodobne to jde jen ve zcela zvlastnich pripadech, treba pres vlastni linux.
"moze ich vytvarat aj priamo niekto"
kto?
Pokud nekdo chce zapisovat do tveho adresare, tak to muze udelat jedine pomoci tvych scriptu nebo, pokud se naloguje za tebe ne FTP, webFTP, do tveho programu jako admin.
Ted uz to chapes?
A jak ZBI popsal, je tu asi problem, ze pres prime spojeni na FTP se vytvareni souboru chova jinak nez pri nahravani pres PHPscript (cili asi i webFTP wz-tka)
jaaaaaaaj.. ja som si myslel ze 777 je nebezpecne, ze hocikto moze do daneho priecinku pisat (uplne hocikto ze da vytvorit subor na adrese XXXX.webz.cz/data/ a tam si vytvori.. som myslel ze kedze ma SVET dovolene PISAT som myslel ze to znamena toto.. preto sa mi to zdalo nebezpecne.. ale evidentne z vasich odpovedi vyplyva ze to nebezpecne nie je.. alebo som to zle poxopil?
Pochopil jsi to dobře (jak jsi to poxopil, to nevím).
Pokud chceš pracovat přes PHP se soubory, musí na to mít uživatel, pod kterým běží apache, práva. Tudíž by mělo stačit nastavit vlastnictví tomuto uživateli a práva souborům nastavit na 0600. Tady na wz můžou mít klidně 777, jelikož se na server nedá přihlásit (nepovolaný člověk) a proto odpadá potřeba chránit si svoje soubory. Takže stačí použít postup, co popsal zbi.
obvykle staci prava 664/775, protoze PHP spusteny na tvych strankach by melo prave z duvodu bezpecnosti byt ve spravne skupine (tedy druhe cislo). Jestli to tak je, nevim, ale zkus to.