symbolic link a chyba: Symbolic link not allowed

Mgr. Jaroslav Filip filip na ol.mits.cz
Čtvrtek Prosinec 18 22:20:35 CET 2003


Ahoj vsichni!

Mam problem s apachem: 2.0.40-21.9

Na RH Linuxu 9 hostuji zakaznicke weby a dnes jsem narazil na zajimavy
problem, se kterym si nevim rady. Chci u jednoho webu povolit prochazeni
symbolickych odkazu do webu jineho zakaznika. Adr. struktura je nasledujici:

/data/www/zakaznik1.cz
/data/www/zakaznik2.cz

v  /data/www/zakaznik1.cz je podadresar upload
vytvorim symbolicky link: ln -s /data/www/zakaznik1.cz/upload
/data/www/zakaznik2.cz/upload   .... tj.:

        /data/www/zakaznik2.cz/upload ---------->
/data/www/zakaznik1.cz/upload

Myslel jsem si, ze to bude uplne jednoduche, protoze staci pouzit direktivu
Options FollowSymLinks

Pro web  /data/www/zakaznik2.cz mam nasledujici konfiguraci v apachi:

### admin.smartwebedit.cz
<VirtualHost *>
  ServerName www.zakaznik2.cz
  ServerAdmin webmaster na zakaznik2.cz
  DocumentRoot /data/www/www.zakaznik2.cz
  ErrorLog /data/www/zakaznik2.cz/logs/error_log
  CustomLog /data/www/zakaznik2.cz/logs/access_log combined

  ErrorDocument 404 /error-documents/404.html
  ErrorDocument 403 /error-documents/403.html
  DirectoryIndex index.html index.htm home.html home.htm default.html
default.htm index.php default.php index.php3 default.php3

  <Directory "/data/www/zakaznik2.cz">
          Options ExecCGI FollowSymLinks           <----- az na ten parametr
FollowSymLinks jsou definice webu obou zakazniku stejne (samozrejme kazda z
nich ukazuje do toho sveho adresare)
          php_admin_flag safe_mode On
          php_admin_value open_basedir /data/www/zakaznik2.cz
          AddHandler perl-script .pl
          PerlHandler ModPerl::Registry::handler
          PerlOptions +ParseHeaders
          AllowOverride None
          Order deny,allow
          Allow from all
          <FilesMatch "\.(php|php3|php4|phtml)$">
                SetOutputFilter PHP
                SetInputFilter PHP
                LimitRequestBody 5242880
          </FilesMatch>
  </Directory>
  <Directory "/data/www/zakaznik2.cz/logs">
          Order deny,allow
          Deny from all
  </Directory>
</VirtualHost>

Pokud se v prohlizeci snazim pristoupit k jakemukoliv souboru:
http://www.zakaznik2.cz/upload/cokoliv.html , pak mi to do logu napise:

[Thu Dec 18 21:58:28 2003] [error] [client IP adresa] Symbolic link not
allowed: /data/www/zakaznik2.cz/upload

Nevite, kde by mohl byt problem? Uz jsem prohledal vsechny mozne archivy a
vsude radi pouzit direktivu FollowSymLinks a nebo SymLinksIfOwnerMatch, ale
ja jsem obe vyzkousel a bez uspechu.

J. Filip



Další informace o konferenci Linux