Как предоставить права на чтение для записи в папку и ее подпапки и файлы?

Я бы рекомендовал XBMC использовать автономный пакет XBMC. У нас есть множество сериалов на нашем сервере, и единственная правильная часть имени файла - это ярлыки «сезон-эпизод» (S01E09) и XBMC. Я мог бы продолжать, но это единственная часть, относящаяся к разговору.

1
задан 16 August 2012 в 06:25

5 ответов

Вы можете использовать рекурсивную опцию в любое время. [F1]

11
ответ дан 25 May 2018 в 23:22

Как уже упоминалось, предоставление 777 прав на /var/www - действительно плохая идея, особенно в производстве.

Лучшим решением было бы предоставить права на запись только тем пользователям, которые должны изменить файлы. Один из способов сделать это:

создать новую группу, добавить пользователя (пользователей), которому необходимо изменить данные в /var/www в эту группу, рекурсивно изменить право собственности на /var/www на эту группу установите umask на /var/www, так что все вновь созданные файлы принадлежат группе, которую мы создали.

Другим вариантом было бы использовать ACL, чтобы дать разрешения на запись только тем пользователям, которые в них нуждаются.

Вот уже упомянули .

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

9
ответ дан 25 May 2018 в 23:22

Вы должны отредактировать /etc/apache/envvars как root с выбранным редактором.

Пример: ALT + F2 gksudo gedit /etc/apache2/envvars

Переход в конец файла и добавление строки umask XXX.

Где umask - это двоичный код, противоположный желаемому значению разрешений. Для 774 это будет 003. Для 777 плохой идеи это будет 000.

Сохранить ,

Перезапустите apache.

Пример: sudo apache2ctl restart

Это касается только файлов / папок, которые были недавно созданы пользователем apache.

Дополнительная заметка: чтение и запись - 6 в пользовательском, групповом или любом слоте.

2
ответ дан 25 May 2018 в 23:22

Кроме того, решение «из коробки» заключается в том, чтобы настроить ваш HTTP-сервер на использование другой папки. Если вы используете Apache, просто отредактируйте его конфигурационные файлы. Таким образом, вам не нужно изменять разрешения для / var / www, ведьма может быть плохой идеей (потенциальные проблемы с безопасностью).

И umask - ответ на ваш вопрос. Его можно использовать для ограничения привилегий по умолчанию для вновь созданных папок и файлов. И разработчики дистрибутивов склонны использовать его для ограничения доступа к некоторым системным папкам.

0
ответ дан 25 May 2018 в 23:22

Я думаю, вы хотите иметь доступ на запись к /var/www для изменения файлов и dirs. Я считаю, что лучшим решением является установка apache2-mpm-itk и в файле конфигурации виртуального хоста add /etc/apache2/sites-available/default:

<IfModule mpm_itk_module>
    AssignUserId your-username your-group
</IfModule>

и запуск chown your-username\: /var/www -Rv таким образом, чтобы apache для этого виртуального хоста выполнялся с вашим UID / GID, и вы сможете редактировать файлы. Даже файлы, созданные PHP, будут иметь ваш UID / GID

0
ответ дан 25 May 2018 в 23:22

Другие вопросы по тегам:

Похожие вопросы: