Как предоставить доступ к одной папке WordPress третьему лицу в Ubuntu?

Как предоставить доступ к одной папке WordPress третьему лицу в Ubuntu?

Владелец и группа «www/website1» — root:www-data, и я могу изменять его содержимое или конфигурацию как пользователь root или sudo.

Но теперь я хочу создать еще один веб-сайт с именем website2 (в самом каталоге 'www'), доступ к которому должен быть предоставлен моему другу (чтобы он мог легко настроить этот веб-сайт для меня по своему усмотрению). Но он не должен иметь возможности вносить изменения или даже просматривать любой другой каталог в моей ОС даже с помощью sudo.

Для этой цели я могу создать нового пользователя в моей ОС Ubuntu и создать для него ftp login id/pw. Но я увидел/обнаружил, что вместе с доступом 777 к этому веб-сайту2 он также автоматически получает доступ на чтение к полной корневой папке и всем ее подпапкам.

Есть ли короткий способ контролировать это, так чтобы он мог видеть только требуемую 1 (или 2 папки), но не больше, чем указано? Кроме того, я не хочу возиться со свойствами всех остальных папок моей полной ОС, по одной. Спасибо.

решение1

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

Команда будет такой:

 usermod -a -G www-data {user2}

После этого {user2} сможет изменять файлы, подключенные к этой группе (кроме файлов, которые он может изменять и которыми владеет сам).

При необходимости вы можете даже создать новую группу, подключить ее к 2 пользователям и ограничить пользователя user2 только теми файлами, которые подключены к этой группе. Apache использует www-data в качестве пользователя, но этот пользователь может иметь и больше, чем группу www-data.

Я увидел/обнаружил, что вместе с доступом 777 к этому веб-сайту2 он также автоматически получает доступ на чтение ко всей корневой папке и всем ее подпапкам.

chmod 777 никогда не будет решением, если вы не включите также липкий бит.

решение2

используйте следующую команду:

setfacl -R -m user:{user2}:rwX www/website2

Это должно предоставить пользователю {user2} полный доступ к www/website2 и всему содержимому этого каталога.

Редактировать:Я только что заметил, что ваша проблема в том, что {user2} имеет доступ на чтение к другим каталогам, кроме www/website2. Эти каталоги обычно имеют по умолчанию доступ на чтение для "других", т. е. для любого пользователя - вот почему {user2} может их читать. Не удалив этот доступ, вы не сможете запретить {user2} просматривать их. Единственный метод - как я указал в комментарии под вашим вопросом - заблокировать {user2} в FTP chroot jail, так что www/website2 будет корневым каталогом для этого пользователя. Проверьте, поддерживает ли ваш FTP-сервер это.

Связанный контент