Diskuze: Povolenia webového servera v inej zložke

Linux a UNIX Linux Povolenia webového servera v inej zložke

Avatar
Marián Ligocký
Redaktor
Avatar
Marián Ligocký:

Ahoj! Mám nainštalovaný webový server podľa tunajšieho návodu, vytvoril som si subdoménu a nastavil jej cestu na zložku Dropboxu (home/marian/Drop­box/Code). Problém je ale ten, že mi ukazuje chybu 403. S najväčšou pravdepodobnosťou bude problém v povoleniach, ale neviem aké povolenia mám nastaviť, kedže som skúšal veľa vecí a žiadna nefugovala.

Ďakujem :)

 
Odpovědět 21.5.2015 20:15
Avatar
Filip Šohajek
Redaktor
Avatar
Odpovídá na Marián Ligocký
Filip Šohajek:

Nebylo by lepší nastavit +FollowSymlinks a udělat do té složky symlink ve /var/www?

 
Nahoru Odpovědět 21.5.2015 21:01
Avatar
mkub
Redaktor
Avatar
Odpovídá na Marián Ligocký
mkub:

je mozne aj to, ze Apache nedokaze citat subory v tej zlozke kvoli pristupovym pravam, kedze cely obsah /home/marian patri uzivatelovi "marian" a Apache bezi pod uzivatelom www-data, resp. nobody

pridaj mariana do tej istej skupiny, pod ktorou bezi apache a nastav prava pre skupinu: R

 
Nahoru Odpovědět  +1 22.5.2015 3:51
Avatar
Marián Ligocký
Redaktor
Avatar
Marián Ligocký:

mkub mohol by som ťa poprosiť o návod ako to urobiť? :) Nechápem ako mám pridať mariana do tej istej skupiny ako apache.

 
Nahoru Odpovědět 22.5.2015 15:29
Avatar
Michal Žůrek (misaz):

jinak přesný popis chyby bys měl najít v logu.

Nahoru Odpovědět  +1 22.5.2015 15:46
Nesnáším {}, proto se jim vyhýbám.
Avatar
mkub
Redaktor
Avatar
Odpovídá na Marián Ligocký
mkub:

napr.:

usermod -G www-data marian

si pridas uzivatela do skupiny www-data
alebo bez pridavania uzivatela do skupiny, pod ktorym bezi Apache:

chown -R marian:www-data home/marian/Dropbox/Code

a nasledne: a pomocou prikazu chmod si nastav prava pre ten adresar:

chmod -R g+r /home/marian/Dropbox/Code
 
Nahoru Odpovědět  +1 22.5.2015 19:04
Avatar
mkub
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
mkub:

v niektorych distribuciach nie je log textovy, ale binarny, to je bezne u systemoch so SystemD namiesto klasickeho Init...
tam, kde je klasicky Init sa loguje za pomoci Syslog a logy su textove a sa nachadzaju v adresari /var/log...

a co sa tyka SystemD, tak tu by mali pomoct prikazy:
journalctl
systemctl status [sluzba]

 
Nahoru Odpovědět 22.5.2015 19:14
Avatar
Marián Ligocký
Redaktor
Avatar
Odpovídá na mkub
Marián Ligocký:

Stále to robí to isté... Ale k tomu sa mi podarilo používateľovi marian zrušiť práva na príkaz sudo. Podarilo sa mi to ale opraviť :D. Pôvodný problém ale stále pretrváva.

 
Nahoru Odpovědět 23.5.2015 13:53
Avatar
Marián Ligocký
Redaktor
Avatar
Odpovídá na Filip Šohajek
Marián Ligocký:

Ako to myslíš? Podľa Google sa jedná o odkaz, čož by mohlo vlastne problém vyriešiť.

 
Nahoru Odpovědět 23.5.2015 13:54
Avatar
mkub
Redaktor
Avatar
Odpovídá na Marián Ligocký
mkub:

to +FollowSymlinks je parameter volby options v konfiguracnom subore Apacha pre dany adresar...
ale nemyslim, ze by to vyriesilo tvoj problem... myslim, ze sa jedna o to, ze Apache nedokaze citat z toho adresara...
je mozne, ze mu brani v tom aj selinux, co je bezpecnostny pach do jadra

 
Nahoru Odpovědět 23.5.2015 15:42
Avatar
Filip Šohajek
Redaktor
Avatar
Odpovídá na mkub
Filip Šohajek:

SELinux tomu nebrání, spíš permise nebo špatně nastavený DocumentRoot.

 
Nahoru Odpovědět 23.5.2015 17:06
Avatar
mkub
Redaktor
Avatar
Odpovídá na Filip Šohajek
mkub:

vcera som sa trosku nudil, hladal som veci okolo SystemD a natrafil som aj na problem s medzi selinuxom a apache...
selinux ked sa zle nastavi, tak dokaze branit apachu k pristupu k suborom...

selinux je totiz bezpecnostny patch do jadra, ktory umoznuje delegovat aj roota na bezneho uzivatela

ale je optazne, ze ci instaloval do systemu aj ten selinux...

a co sa tyka toho DocumentRoot, tak to musi byt nastavene na taky adresar, ktory dokaze Apache citat, cize by mal mat na ten adresar prava R pre uzivatela a skupinu, pod ktorym Apache bezi (cize nobody, alebo www-data)

 
Nahoru Odpovědět 23.5.2015 17:45
Avatar
Filip Šohajek
Redaktor
Avatar
Odpovídá na mkub
Filip Šohajek:

Já vím co je to SELinux, ale přeci jenom, na hodně platformách je i AppArmor.

 
Nahoru Odpovědět 23.5.2015 18:12
Avatar
mkub
Redaktor
Avatar
Odpovídá na Filip Šohajek
mkub:

ja som uviedol iba mozne priciny, ale pokial ma zle nastavenu bezpecnostnu politiku, tak Apache sa nedostane do toho adresara a moze vyhodit chybu 403...

ale v kazdom pripade v logoch byva uvedene, kde je chyba a to by malo nasmerovat spravnym smerom...
u Init su logy v textovej forme v /var/log
u SystemD uz nie su textove logy, treba pouzit prikazy systemctl/jou­rnalctl

 
Nahoru Odpovědět 24.5.2015 14:48
Avatar
Patrik Olšanský:

jest-li to chceš mít pod "svým" portem tak to jdi do nastavení apache ;)
je tam možnost, že když máš třeba default port (80) tak ti načte čistá ip, pokud chceš mít další web tak mu třeba nastav port 90 a směrovou složku dej někam do /var třeba /var/www2 což bude složka s 2. webem ;)
dále je možnost přes "ISPConfig" nastavit více webu na který je možné se dostat přes dns funguje to tak že ve složce "www" si vytvoří clienta s názvy webů třeba:
www

  • clients

-- client1
--- altimut.eu
----- log
----- tmp
----- web <- složka se samotným webem

atd..

 
Nahoru Odpovědět 26.5.2015 15:14
Avatar
Marián Ligocký
Redaktor
Avatar
Marián Ligocký:

Takže podarilo sa mi to vyriešiť keď som pridal do /etc/apache2/sites-available/000-default.conf tento kód:

<Directory />
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
    Allow from all
</Directory>
Editováno 27.5.2015 20:34
Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět  -2 27.5.2015 20:34
Avatar
mkub
Redaktor
Avatar
Odpovídá na Marián Ligocký
mkub:

nechapem jednu vec... a to je ta, ze preco povolujes vsetko pre adresar /, nestacilo by to nastavit len pre ten adresar, kde mas svoje webove projekty?

ked povolis pre Apache pristup do adresara /, tym otvaras utocnikovi moznost manipulovat so systemom, ako aj vytvaras mu aj zadne dvierka do systemu (napr. moze si kludne precitat obsah adresara /etc, tym moze zistit zo suboru /etc/password aj akych uzivatelov mas v systeme,...

a do /etc/apache2/sites-available/000-default.conf by som nezasahoval, radsej by som vytvoril novy konfiguracny subor napr. /etc/apache2/sites-available/pro­jekt.conf (kde projekt je nazov projektu) a nasledne pomocou a2ensite projekt tu konfiguraciu stranky povolil

Editováno 28.5.2015 12:30
 
Nahoru Odpovědět  +1 28.5.2015 12:30
Avatar
mkub
Redaktor
Avatar
Odpovídá na Marián Ligocký
mkub:

a nabuduce problemy s webserverom nedavaj do Linuxu, ale do Webove servery...

 
Nahoru Odpovědět  +1 28.5.2015 12:35
Avatar
mkub
Redaktor
Avatar
Odpovídá na Marián Ligocký
mkub:

pre adresar / by mal byt pristup pre Apache denny, nie allow

 
Nahoru Odpovědět 28.5.2015 12:44
Avatar
Marián Ligocký
Redaktor
Avatar
Odpovídá na mkub
Marián Ligocký:

Máš pravdu, správny kód teda bude:

<Directory /home/marian/Dropbox/Code>
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
    Allow from all
</Directory>

Čo sa týka zaradenia vlákna, nevšimol som si sekciu webové servery, ospravedlňujem sa.

//Môžem teda poprosiť admina aby zmenil správnu odpoveď, prípadne presunul vlákno?

 
Nahoru Odpovědět  +1 28.5.2015 14:00
Avatar
mkub
Redaktor
Avatar
 
Nahoru Odpovědět 28.5.2015 21:28
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 21 zpráv z 21.