Portál AbcLinuxu, 12. května 2024 20:46


Dotaz: Apache2 práva

18.6.2010 19:05 f1lo | skóre: 16
Apache2 práva
Přečteno: 750×
Odpovědět | Admin
Dobrý podvečer,

Klasické adresáře se stránkami mám ve složce /var/www a vždy je nahrávám/upravuji pod uživatelem root, tudíž problém s právy není.

Ovšem nyní jsem nasměroval určité stránky do /home/filo/www a soubory nahrávám a upravuji pod uživatelem filo, které má práva klasického uživatele (omezené) a apache mi tak hlásí Forbidden.

Proto se ptám, jak v apachi nastavit to, aby stránky běželi i pod uživatelem filo a ne pouze po www-data, děkuji.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

18.6.2010 19:28 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Apache2 práva
Odpovědět | | Sbalit | Link | Blokovat | Admin
Apache musí mít právo pro čtení 'r' na soubory a právo spustit 'x' na adresáře – přes skupinu ostatní či uživatele.

No a třeba:
můžete pod rootem změnit skupinu na skupinu apache (nevím jaká je ve vašem případě, beru např. 'www-data')
Změním stávající:
chgrp -R www-data /srv/www/nebo/kde/to/je/
a pak nastavit s bit aby se skupina dále přebírala - další adresáře či soubory budou tuto skupinu držet automaticky - po tomto zásahu.
find /srv/www/nebo/kde/to/je/ -type d -exec chmod +s {} \;
Vše vychází z předpokladu, že na skupinu je povoleno 'r' na soubory a 'x' na adresáře.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
19.6.2010 14:38 f1lo | skóre: 16
Rozbalit Rozbalit vše Re: Apache2 práva
Dobrý den, příkazy provedu v tomto pořadí: 1.chgrp -R www-data /srv/www/nebo/kde/to/je/ 2.Jak nastavím, aby Apache (www-data) mělo právo pro čtení a právo spustit? 3.find /srv/www/nebo/kde/to/je/ -type d -exec chmod +s {} \; Mám vložit kam?

Omlouvám se za takové otázky, ale nejsem příliš zkušený a proto se ptám, děkuji předem za odpovědi.
21.6.2010 17:45 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Apache2 práva
Pokud máte, což veřím že máte :), adresář kde jsou www data s oprávněním drwxr-xr-x nebo případně drwxr-x---, tak následným postupem zařídíte udělení přístupu pro Apache (pro zvídavé: nepředpokládám že by umask byl nějak jinak nastaven, než aby to fungovalo).
Zjistit si to můžete příkazem ls -ld /srv/www/nebo/kde/to/je/

Proveďte tyto příkazy v terminálu, samozřejmě s opravenou cestou dle vaší situace:
chgrp -R www-data /srv/www/nebo/kde/to/je/
Tím nastavíte skupinu všem souborům a adresářům v daném adresáři a podadresářích na www-data.

Jako druhý příkaz zadejte v terminálu (a pozor oprava, ne jen '+s', ale 'g+s'):
find /srv/www/nebo/kde/to/je/ -type d -exec chmod g+s {} \;
Tím nastavíte všem adresářům a podadresářům v zadaném adresáři 's' bit na skupinu a to znamená, že všechny nově vznikající soubory či adresáře budou mít skupinu nadřazeného adresáře. A protože oprávnění drwxr-xr-x uděluje právo read a execute na skupinu, již tam Apache může číst a vcházet do adresářů.

Ověřit si to můžete pomocí ls -l /srv/www/nebo/kde/to/je/ a uvidíte nastavené s-ko u adresářů, něco jako drwxr-sr-x či drwxr-s---.

PS: pokud jste již provedl dříve uvedený příkaz s parametrem '+s', tak napravit to lze pomocí
find /srv/www/nebo/kde/to/je/ -type d -exec chmod u-s {} \;
, tím odstraníte navíc nastavený bit – omlouvám se nějak mi to tam vypadlo.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
23.6.2010 22:10 f1lo | skóre: 16
Rozbalit Rozbalit vše Re: Apache2 práva
Děkuji za odpověď, vše funguje, až na přebýrání práv souborů a složek automaticky, nová složka má 0700 (read,write,ext pouze pro vlastníka), nový soubor má 0600 (read/write pro vlastníka).

Nejspíše se do toho sbitu musí doplnit ještě nějaká chmod pravidla?
23.6.2010 22:38 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Apache2 práva
Postup nastavil jen přebírání skupiny, přebírání práv takto nastavit nelze.
Standardní práva pro vytvářené soubory se řídí nastaveným umask, pokud je to, co vytváří soubor ještě následně nemění.
Proto jsem psal: „Vše vychází z předpokladu, že na skupinu je povoleno 'r' na soubory a 'x' na adresáře.“.
Takže bych si tipl, že se jedná o ftp-ko/sambu/apod. a její natavení, nebo máte takto umask nastavený, třeba jen pro daného uživatele?
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
23.6.2010 23:40 f1lo | skóre: 16
Rozbalit Rozbalit vše Re: Apache2 práva
Děkuji, máte pravdu, potom, co jste upozornil na problém FTP jsem zkusil WINSCP a přebýrání práv funguje bez problémů. Když už jsme u toho, nevíte jak přebýrání souborů nastavit u vsftpd?
24.6.2010 07:38 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Apache2 práva
Ptáte-li se jak nastavit práva pro upload-ované soubory, tak: nemám to sice odzkoušené, ale mělo by to být volbou:
local_umask=0022, případně anon_umask=0022
v souboru vsftpd.conf
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
24.6.2010 13:41 f1lo | skóre: 16
Rozbalit Rozbalit vše Re: Apache2 práva
Paráda, děkuji za Váš čas, nyní to funguje skvěle.
18.6.2010 19:49 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Apache2 práva
Odpovědět | | Sbalit | Link | Blokovat | Admin
Buď nastavte na souborech právo r-- a na adresářích práva r-x pro ostatní, nebo uživatele přidejte do skupiny, pod kterou běží Apache (např. www-data), nastavte jako vlastnickou skupinu www-data a nastavte výše uvedená práva pro skupinu. Poslední možnost by byla pomocí ACL ta práva nastavit pro dalšího uživatele nebo skupinu (pro uživatele nebo skupinu, pod kterou běží Apache).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.