Правилното поведение е да се ползва една от така наречените 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/ |
Дано съм помогнал ...