Я веб-разработчик. Я разрешаю SSH доступ к моей машине для нескольких человек.

Я хочу убедиться, что они не могут получить доступ к моим файлам в /var/www/ .

Так можно ли сделать эти файлы доступными для чтения только веб-серверу и предоставить права на чтение / запись пользователю root?

3 ответа3

4

Я предполагаю, что пользователь Apache называется www-data . Если вы хотите, чтобы файлы в /var/www/ стали доступны для чтения только этому пользователю, вам нужно передать их в собственность:

sudo chown -R www-data /var/www/

Теперь вы хотите, чтобы www-data был единственным пользователем, который может на самом деле читать / писать:

sudo chmod -R 700 /var/www/

Обратите внимание, что root всегда имеет доступ на чтение / запись к любому файлу, независимо от прав доступа. Является ли эта настройка хорошей идеей или нет - я бы предпочел привязать этих пользователей SSH к их домашним папкам. См. Могу ли я создать пользователя SSH, который может получить доступ только к определенному каталогу?

0

В зависимости от пользователя вашего веб-сервера (обычно это www-данные):

chown www-data /var/www
chmod -R 700 /var/www

Это сделает пользователя www-data владельцем вашего каталога /var /www и разрешит доступ к каталогу только владельцу.

0

Возможно, вы захотите сделать root или другого пользователя владельцем вашего веб-контента. Это предотвратит перезапись содержимого веб-сервером, если кто-то получит доступ через скрипт или другую точку входа. Замените root в этих командах тем пользователем, которому вы хотите владеть.

chown -R root:www-data /var/www
chmod 2750 /var/www

Чтобы позволить user (кроме root) поддерживать контент, вам нужно добавить пользователя в группу www-data.

adduser user www-data

Некоторые веб-приложения могут иметь некоторые каталоги, в которые они записывают динамический контент. Чтобы разрешить доступ, смените владельца на www-data или разрешите групповую запись.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .