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

Linux секция за начинаещи => Настройка на програми => Темата е започната от: milenjs в Apr 11, 2005, 18:22



Титла: Apache Windows - Linux
Публикувано от: milenjs в Apr 11, 2005, 18:22
Zdraveyte, imam sledniq problem. Imah Apache instalirano na Windows. Reshih da mina i da polzvam samo Linux - instalirah si Knoppix 3.6, Apache i iskah da si polzvam nestata ot Apache servera koito si stoyat na windowskiat dyal - NTFS. Prenasochih  v konfiguracionnia fail na Apacheto za linuxa document root da mi sochi kum tazi papka - /mnt/hdb1/www no sled tova ne mi dava dostap do nishto - direktno mi otkazva da mi otvori sayta.
Ako nyakoj znae kak moga da korigiram nestata da pishe - predpolagam che e neshto svurzano s pravata no ne znaya kakvo da promenya - sobstwenika na papkata /mnt/hdb2/www e root!


Титла: Apache Windows - Linux
Публикувано от: poisoner в Apr 11, 2005, 22:32
незнам как стои работата с правата на нтфс-а щото нямам. Ама според мен по добре си ги оставаи веброота да е  в /вар/ввв/локалхост/хтдокс
и си копирай нещата там


Титла: Apache Windows - Linux
Публикувано от: empty в Apr 12, 2005, 09:07
И аз не съм много на ясно как стоят нещата с НТФС ама знам, че не са много добре :)
Съвета на пойзънър е много добър, защото до колкото знам също така не може и да се записват неща под линукс върхо НТФС, защото стават някакви проблеми с таблиците и нещо не е в ред с потдръжката на НТФС. Абе общо взето НТФС-а е боза. Има и нещо друго. Щом си минал изцяло на линукс, защо да не си направиш един бек ъп и да захвърлиш тези измислени уинбоузки партиций и не си сложиш един EXT3,2 или RaiserFS или каквато си пожелаеш друга файлова система, която се потдържа стократно по - добре от линукс и други операционни системи.


Титла: Apache Windows - Linux
Публикувано от: zeridon в Apr 12, 2005, 10:24
Правилното поведение е да се ползва една от така наречените Native файлови системи. Ако толкова много държиш на NTFS -а (да си остане такъв) следното може да ти помогне.

=== кратко въведение ===
NTFS поддържа права но тези права не са същите и не са реализирани по начин подобен в Linux. Стандартните драйвери които вървят с Linux не могат да пишат върху NTFS.
За да се симулира поведение (на не Native FS) поне донякъде наподобяващо на Native файловите системи под Linux kernel -а използва междинен слой в който се симулират правата.
По подразбиране дяловете за Non Native FS се монтират с owner=root,group=root. правата за достъп са следните (примерче с директория)
Примерен код
drwxr--r--   2 root root     80 2005-04-10 22:52 beta/

Което значи че само root има право да чете и евентуално пише в тази папчица.
За да може всеки един потребител да чете в дадена папка е необходимо да има следните права:
Примерен код
drwxr--r-x   2 root root     80 2005-04-10 22:52 beta/

забележи "х" в последната позиция.
=== Край Въведение ===

=== Решение ===
Възможни са следните решения:

1) Apache -то да върви като root - много лошо ... пробият ли го цялата система си заминава без никакви възражения. Под система имам предвид всичката информация барабар с OS-a
Примерен код
=== Snipet ===
#
User root
Group root
=== Snipet ===


2) Монтираш дяла с друг потребител - рисково до известна степен. Особенно ако имаш и други ценни работи на този дял. При пробив в Apache заминава само този дял. Постига се чрез малка редакция на /etc/fstab
Примерен код
=== Snipet ===
/dev/hda4       /www ntfs         user=<user>,group=<usergroup>,umask=022       1      2
=== Snipet ===

Особенният момент е в определянето на <user> & <usergroup> ... те трябва да са същите или поне юзера да е като този на апачето. При стандартна инсталация Apache -е е конфигурирано да ползва
Примерен код
#
User nobody
Group nobody

Също така е важно да се сложи подходящ umask. Това е параметър който определя какви права ще наложи кернела върху дяла. С umask=022 се получава следната картинка
Примерен код
drwxr-хr-х   2 root root     80 2005-04-10 22:52 beta/

С umask=077 се получава следната картинка
Примерен код
drwx------   2 root root     80 2005-04-10 22:52 beta/


Дано съм помогнал ...