CHMOD 700

Dobrý den, nahrál jsem na server soubor a nastavil mu přes tcmd CHMOD na 700 (rwx --- ---). K souboru můžu stále přistupovat z webu (Svět) i když je to v CHMODu zakázáno. Proč?
Je potřeba si oprášit vědomosti nastavení prav v linuxu a konkrétně nastavení prav webserveru Apache.

CHMOD sice nastavuje práva, ale pouze v uvnitř linuxu. Takže jiný uživatel v linuxu se k tvému souboru nedostane. Apache je však webserver a jeho uživatelská práva přebírá uživatel/skupina nobody. Takže to znamená, že CHMOD 700 nastavuješ pouze pro uživatele nobody.
Toto nastavení však platí i pro virtuální prostor webserveru. Takže, když to takto nastaviš, tak práva přebírá i virtuálmí prostor - tedy při 700 můžeš s virtualním prostorem dělat, co chceš, tedy k souboru můžeš přístupovat i přes web.

Pokud chceš nějaký soubor či složku nezpřístupnit i ostatním na webu, pak musiš použit jiné techniky a to konktrétně práva virtualního prostoru (http://httpd.apache.org/docs/1.3/howto/auth.html), které se aplikuji buď globálně přes httpd.conf nebo lokálně přes .htaccess.
Znamená to, že nastavení CHMODu pro skupinu a svět (ostatní) jsou u Apache serveru zbytečná a platí pouze nastavení u vlastníka?
Z pohledu webového prohlížeče je tento mod k ničemu. Tedy, pokud vlastníkovi zakážeš čtení nebo přístup, pak tento soubor nebude přístupný z webu. Ale to pak nemůžeš číst a přístupovat ani ty ;)

CHMOD je užitečný pouze tehdy, pokud z nějakého důvodu PHP skript ohlásí chybu přístupu k adresáři nebo k souboru. Ve většině případu je pak na vině přístupová práva k souboru a pomoci CHMOD pak můžeš tyto práva opravit. Většinou není povolen zápis.

Skupina a ostatní jsou určeny pouze pro linux. A v tomto případě je jedno jak jsou nastaveny, protože v linuxu na WZ se pohybuje pouze administrátor, případně další pověřené osoby. Ale není na škodu jim přiřadit nulový přístup. Aspoň jsou chráněny před škůdci, což je ale nepravděpodobné.
z hlediska prav k tomu souboru nikdo z webu nepristupuje. pristup z webu se deje tak, ze k souboru pristupuje proces apache pripadne ftp serveru. tem nastavujes prava. to ostatni (jak rikas svet) se pouzije v pripade, kdy si primo k serveru nekdo fyzicky sedne a prihlasi se pod nejakym jinym uctem - uplatnuji se na procesy spustene pod tim jinym uctem.