Как сделать каталог постоянно доступным для записи?

27

Я использую стек LAMP для разработки, и у меня проблема с постоянным доступом к записи / var / www. Я использую эту команду:

sudo chmod -R a+rwX /var/www

Это работает, но после размещения веб-приложения и доступа к нему через браузер выдается сообщение об ошибке «Отказано в доступе». Когда это произойдет, я должен снова выполнить команду.

Как я могу сделать каталог доступным для записи без необходимости повторного запуска команды?

Благодарность!

potomato
источник
1
создайте подпапку /var/wwwи измените разрешение для этого каталога. Это должно решить проблему
Анам Ахмед
5
На самом деле вы никогда не должны делать рут доступным для записи. См. Из соображений безопасности, почему / var / www не должен содержать chmod 777?
Горан Мишкович
Вот несколько хороших комментариев выше ... учитывая соображения безопасности, вы должны оставить разрешение на использование /var/wwwпо умолчанию rwxr-xr-x, и вы, вероятно, переместите необходимые файлы в подкаталог /var/wwwи внесете соответствующие изменения в свои * html файлы. за изменения, которые вы внесли в корень документа.
точное

Ответы:

39

Числовые разрешения могут решить вашу проблему.

sudo chmod 775 'your directory'

если вы хотите знать, почему только 775 вот ваш ответ

400 read by owner
040 read by group
004 read by anybody
200 write by owner
020 write by group
002 write by anybody
100 execute by owner
010 execute by group
001 execute by anybody

 400
+040
+004
+200
+020
+100
+010
+001
=775

Это даст все разрешение, кроме как написать кем-либо.

Diprute
источник
9

У меня была такая же проблема тогда

sudo chmod 777 directory

решил это.

Это делает каталог доступным для записи, чтения и исполнения любым пользователем. Так что не имеет значения, какой пользователь или группа владела им или использовала Lampp.

Однако это не рекомендуется, если ваш компьютер является общедоступным.

М Корнель
источник
8

Обычно используемая вами команда должна постоянно изменять права доступа.

Попробуйте sudo chmod -R 775 /var/www/(что в принципе то же самое). Если это не сработает, вам может понадобиться сменить владельца [и, возможно, группу] каталога через sudo chown <user>[:<group>] /var/www/.

Кроме того, вы можете подумать, что «ошибка запрещена» может быть вызвано недостаточными правами доступа в вашей базе данных или в другом месте.

Дэвид
источник
Но, как уже упоминалось @schkovich, вы не должны делать корневую веб-папку доступной для записи.
Дэвид
13
+ Rinzwind Я использовал 777 и терпеливо жду вашего визита.
Марсель
это сработало для меня, если я использую его без sudo chmod -R 775 my_folder
слешей,
@ Марсель уже мертв, ребята, @ Ринзвинд покончил с ним
Dheeraj
2
@ Марсель, откуда мы знаем, что это настоящий ты, что, если @ Ринзвинд разорвал лицо Марселя и одел его.
Dheeraj