Доброго времени суток. На линухе сужу давненько, но в плане программирования использовал винду. И вот меня прошибло, что надо перейти полностью на линукс. И вот возникла проблема
Поставил сервер. Создалась папка /var (разумеется в корне). Но! В ней не могу ни менять файлы, не создавать новые. Ругается что доступ запрещён. Как быть и что делать?
не удаётся изменять папку и удалять файлы
у вас нет прав. посмотрите
ls -ld /var
ві увидите кто и какие права имеет на доступ к єтой папке...
drwxr-xr-x 13 root root 4096 нояб. 4 22:30 /var
Вот собственно ответ. И как это есть?=)
А зачем вам доступ ко всему каталогу? Достаточно /var/www или что-то подобное. И доступ нужно давать не вашему обычному пользователю, а тому, от чьего имени работает процесс сервера.
Ну, /www находится в /var => нет доступа ко всем подпапкам. Есть ли возможность сменить доступ?
дык вам доступ нужен к КАТАЛОГУ(sic!) www, или таки к /var/?Ну, /www находится в /var => нет доступа ко всем подпапкам. Есть ли возможность сменить доступ?
Это не баг, а фича. Нужно:
1. посмотреть группу www
2. там скорее всего группа apache (как и хозяин). Если нет, то что-то вы делаете не так, или я отсюда плохо телепатирую
3. включить своего юзера в группу apache
4. поставить на КАТАЛОГ(sic!) SGID бит, дабы этот ваш юзер создавал-бы каталоги в этом каталоге с группой apache, а не со своей
5. если вы хотите, что-бы apache имел-бы право изменять КАТАЛОГИ(sic!), то ставьте там ручками +w.
Всё разобрался. Для случайного гостя!:
$ ls -ld /var/www
drwxr-xr-x. 2 root root 4096 Sep 16 16:22 /var/www
$ sudo chmod o+w /var/www
[sudo] password for username:
$ ls -ld /var/www
drwxr-xrwx. 2 root root 4096 Sep 16 16:22 /var/www
это вы всем подряд открыли доступ на запись.chmod o+w /var/www
И да, каталоги внутри /var/www/ так и остались закрытыми. Также и файлы нельзя менять, а можно только удалять, и делать новые с таким же именем.
хм. пока что хз. всё создаётся и менятся. во всяком случае в /www. пока проверить полностью не получится. ибо по работе завал. Как доберусь проверю полностью. спасибо за справку.