Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: Breakfist в Jul 03, 2010, 17:26



Титла: apache2 - конфигурация на правата
Публикувано от: Breakfist в Jul 03, 2010, 17:26
Може би не се разбира от заглавието какво точно искам да направя, за което се извинявам, но не можах да измисля по-добро такова.

По същество - Имам две директории, например /var/www/dir1/ и /var/www/dir2/, които съответно отговарят на домейни www.dir1.com и www.dir2.com. Въпроса ми е, как да направя правата на директориите по такъв начин, че реално да не могат да "ровят" от едната в другата? Със safe mode в PHP лесно се забранява "излизането" от /var/www/ директорията, но не е достатъчно.. Опитах да създам нова група, да добавя нов потребител, който в последствие го задавам за owner на директорията и слагам права 711, но за съжаление не ми върши работа, защото така пък апачето няма права да прочете директорията. Ако пък задам права на него, разлиства отново без проблем и двете директории.. Обягва ми логиката как трябва да стане, за това и пиша тук.

Надявам се да помогнете : ) Благодаря предварително.
Debian 5 / Apache 2.2.9


Титла: Re: apache2 - конфигурация на правата
Публикувано от: neter в Jul 03, 2010, 18:26
Не ти е нужен допълнителен потребител, за да постигнеш това, което искаш. Задай права 1 (т.е., само "x" право) на папката /var/www за групата аргументи, която те устройва. Да предположим, че пускаш сървъра с потребител и група www-data, и папките /var/www/dir1 и /var/www/dir2 са с потребител-собственик и група-собственик www-data. То, задавайки права 110 (d--x--x---) на папката (само на тази папка) /var/www (макар че в тази ситуация и права 100 или 010 ще свършат работа, тъй като и потребителят, и групата на apache могат да четат съдържанието на папките), потребителят-собственик и/или групата-собственик няма да имат права да листват съдържанието на папката /var/www, но папките и файловете в папката /var/www ще са достъпни за apache при директно извикване (каквото прави apache, благодарение на точно описаните папки в конфигурацията). Т.е., ако някой качи например webshell в едната папка и получи достъп да се разхожда, отивайки в папката /var/www няма да види другата папка и, за да влезе в нея, ще трябва да изпише точно името й в webshell-а. Ако ползваш единна логика за разположение и именуване на папките (както в случая папките ти са с имената на домейните), а може да се установи какви сайтове има на един сървър, благодарение на индексите на търсачките, то лесно може да се нацели точното изписване на другата папка. За да се защитиш от това, именувай папките си по-динамично, така че да е трудно нацелването на точните им имена.

Относно safe_mode, който използваш за защита да не излизат извън /var/www, зарежи го и си пусни apache в chroot режим - това е сериозно решение, safe_mode помага само за php. Тук ($2) дръпнахме малко размишления по въпроса ;)


Титла: Re: apache2 - конфигурация на правата
Публикувано от: radoshow в Mar 10, 2012, 13:56
Здравейте Колеги,
От известно време съм инсталирал апач сървър,който ползвам като склад при нужда отдалечено.Та сървърчето до вчера работеше перфектно.Проблема е че networkmanager-a ми прави проблем,не винаги се вързва към мрежата и се налага да я рестартирам,за да заработи.И днес премахнах networkmanager-a и настроих мрежата през /etc/network/interfaces като добавих тези редове:
Код
GeSHi (Bash):
  1. auto eth0
  2. iface eth0 inet dhcp
След като рестартирах мрежата интернета си тръгна без проблем,обаче не мога да достъпя сървъра през браузъра.Нито localhost ни като напиша IP-то се отваря.По настройките на сървъра не съм пипал нищо.Ще съм благодарен ако някой даде идея как да оправя този проблем.

P.S. Чудно ми е как като бях с  networkmanager-a нямаше проблем с апача,а сега имам.


Титла: Re: apache2 - конфигурация на правата
Публикувано от: Intel в Mar 10, 2012, 15:49
През браузера какво ти изписва като се опитваш да достъпиш сайта? Прегледай за всеки случай конфиг-а на апача отново, на мен ми се е случвало дори след ъпдейти да се е върнал default-натия.


Титла: Re: apache2 - конфигурация на правата
Публикувано от: radoshow в Mar 10, 2012, 16:49
Ето какво ми дава браузъра:
Цитат
The connection has timed out
@Intel В 6:30ч. сървърчето  си работеше нормално.След това аз излязох по работа и към 10:00ч. се прибрах и ми щукна тая идея да махам networkmanager-a.Направих това,което съм описал в горния пост.Рестартирах мрежата и после компютъра за проба.Като почна да зарежда,махнал съм опцията "quiet splash" при зареждане да мога да виждам какво се зарежда.Видях,че си взе всичко нужно за мрежата като ip и т.н.Като стартирах браузъра всичко беше наред докато не написах localhost.Днес не съм правил нито ъпдейти,нито ъпгрейди.Разгледах конфиг-а на апача отново и не виджам проблем.При рестарт на сървъра не ми показва никакви проблеми.


Титла: Re: apache2 - конфигурация на правата
Публикувано от: Intel в Mar 10, 2012, 17:06
Прегледай логовете и пусни апача в дебуг режим. Имаш ли firewall?


Титла: Re: apache2 - конфигурация на правата
Публикувано от: drag в Mar 10, 2012, 17:37
Хвърли едно око на:
Код:
$ps axu | grep apache
$netstat -nl
$namp localhost
$cat /etc/hosts
$cat /etc/apache2/ports.conf | grep Listen
#iptables -L -v -n