Показать полную графическую версию : права доступа (в который раз)
привет всем. Нашел кучу тем тут про права но спрошу еще раз. Мне пришлось установить ubuntu, надо по работе. Я в нем НОЛЬ. Поставил апач, php, настроил виртуальные хосты. Пробую писать из php в txt файл в одной и той же директории что и скрипт, пишет что прав нет. Сделал chmod 777 на файл и директорию /var/www не помогает. Перенес виртуальный хост в мою папку /home/myfolder/ - таже песня, хотя там я хозяин. Как правильно сделать, объясните на пальцах плиз.
ruslandh
28-04-2008, 00:03
Сделал chmod 777 на файл и директорию /var/www не помогает. Перенес виртуальный хост в мою папку /home/myfolder/ - таже песня, хотя там я хозяин. Как правильно сделать, объясните на пальцах плиз.
это грубо - надосмотреть .кто хозяин, в какую группу входит и т.п. включать пользователя в нужную группу и т.д. Важно от какого пользователя запущен апач, и т.п.
да в принципе я работаю только один на компе. Везде владелец root. Как мне дать права рута? Хорошо если бы примерчик подкинули :) а то я никогда не работал с линухом
А ты проверь сначала, он туда пишет или нет. Может ты даешь относительные пути, а он воспринимает абсолютные или что-то в этом роде. Просто подобная тема была когда переносил сайт на сервак с linux, при этом он работал отлично c WinXP/apache. Причина вроде как раз в чем-то подобном была. Апач от пользователя www-data в убунте запускается (как и в Debian). Права 777, согласен, лучше не ставить.
Не надо апач под рутом запускать! И вообще сидеть под рутом не нужно.
собственно вообще путей не указывал
$handle = fopen("1.txt", "w"); // открывает без ошибок, значит находит
fwrite($handle, $somecontent); // а тут - шиш
ruslandh
28-04-2008, 00:55
да в принципе я работаю только один на компе. Везде владелец root. Как мне дать права рута? Хорошо если бы примерчик подкинули а то я никогда не работал с линухом
лучше если это права не root. По вашим словам могу сделать вывод, что Ubuntu не лучший дистрибутив в смысле безопасности.
собственно вообще путей не указывал »
Проверьте, где создается файл (и вообще, создается ли он). У меня впечатление, что нет.
Попробуйте прописать абсолютный путь. Мне, например, не ясно, где именно он создаст файл.
А поиск для кого создан? На запрос "php write to txt apache ubuntu" второй ссылкой Apache - problems with write permissions - Ubuntu Forums (http://ubuntuforums.org/showthread.php?t=35543)
Так вот, в последнем сообщении там сказано:
Instead, write your PHP application correctly. Use the mktemp() function or similar to create a file in a temporary directory outside the webroot, where you will have write access. This is much more secure and correct.
Перевод: Вместо этого (имеется в виду установка прав доступа на папку) напишите php-приложение правильно. Используйте функцию mktemp() или аналогичную ей, чтобы создать файл во временной папке вне папки webroot (/var/www), куда у вас будет доступ на запись. Это более безопасно и правильно.
люди, я понимаю что для вас многие вещи привычны и принимаете как само собой. Я проинсталлировал ubuntu, поставил апач и пхп + mysql. Для меня уже достижение. Куда бы я сейчас не пытался писать или даже сохранить файл, говорит нет прав. Тут надо чтото сделать простое наверно, права мне повысить или чтото в этом роде. Как мне это сделать? Я не могу эту папку временную создать. Долбанные мануалы, в которых пишут сделайте chmod. Если я сделаю это с sudo наверно только для рута и сделаю chmod? Не по человечески это все, тратить столько времени на изучение а работать когда? Уже глаза в кучу и бошка трещит, и это еще ubuntu проще чем другие линухи. Катастрофа
bruder, вы не можете создать папку средствами PHP? Как именнно вы это делаете? Используете приведенный выше пример или приняли к сведению мой предыдущий пост?
Не по человечески это все, тратить столько времени на изучение а работать когда? »
Смешно, можно подумать, PHP вы с пеленок знаете.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.