Intereting Posts
Копирование установки, отличной от EFI / GPT, к установке EFI / GPT Какая лучшая цепочка инструментов или единственный инструмент для преобразования NTFS в файловую систему ext ? Каков вход для входа в систему openSUSE по умолчанию? В чем разница между драйверами r8169 и r8168? Ошибка при попытке восстановить RPM Разбор ошибок в fstab, связанных с дисками NTFS в Slackware Сделать vim открытыми файлами как номодифицируемые, при определенных условиях Как поместить вектор аргумента с аргументом, содержащим пробелы в переменной bash ошибка: типы не могут быть определены в выражениях «sizeof» Есть ли пароль root для OS X и Ubuntu? Rotel PC-USB для Linux. Любое решение или предложения попробовать Есть ли журнал для sshd, где я могу видеть, кто использовал ssh для доступа к моему компьютеру? Замена вывода за последние x минут Sparc Solaris – установить оптимизированный GCC 4.9, 32/64 бит? Как добавить каталог изменений и git pull к этой линии crontab?

Разрешить доступ только для чтения user2 к подкаталогу user1

Сервер: Debian

Я user1 , с directory /home/user1/website/logs Я хочу дать новому пользователю, называемому user2 , читать доступ к файлам, расположенным в /home/user1/website/logs без предоставления доступа user2 к чему-либо еще в user1 's домашний каталог и не настраивая общий каталог.

Как это можно сделать, если это возможно, или это невозможно?

EDIT: Кроме того, мне нужно сохранить права доступа ко всем файлам, содержащимся в / home / user1 / website / logs, таким образом, чтобы мир никогда не имел никаких прав на него. Он должен быть доступен только пользователям на сервере.

Предполагая, что у вас есть root-доступ, а user2 нет, вы можете установить это с помощью классических разрешений UNIX следующим образом. Вы создаете группу для этой схемы доступа (возможно, в нее вставляются как user1, так и user2, хотя для управления доступом вам нужен только user2), ниже я буду называть ее именем rdlog . После того, как у вас есть группа, следующие команды должны настроить то, что вы хотите:

 chgrp rdlog /home/user1 /home/user1/website /home/user1/website/logs chmod g=x /home/user1 /home/user1/website chmod -R g=r /home/user1/website/logs 

Установив только бит x в разрешениях каталога, можно использовать только точные ссылки в этих каталогах. Это означает, что любой из rdlog может перечислить или cd в каталог журналов. И с правом только на чтение этого каталога и файлов в нем. Это имеет ряд ограничений.

Во-первых, часть безопасности – это безопасность через неясность. Пока вы не даете разрешения на список каталога /home/user1 , если есть файл там, он все равно может ссылаться, если они угадывают имя (но тогда вступают в силу разрешения файла). Так, например, они могут набирать cat /home/user1/.bashrc и определять из полученной ошибки (нет такого файла против отказа в разрешении), действительно ли этот файл существует.

Второе ограничение заключается в том, что вы можете сделать это только один раз . Если вам нужно дать другому пользователю доступ к чему-то еще под вашим homedir, вы не можете сделать тот же трюк, потому что у вас может быть только одна группа.

Вы также можете сделать что-то с ACL. Это может избежать ограничений, если вы сделаете это правильно. Тем не менее, вы действительно можете достичь желаемой цели (то есть реального вопроса, который заставил вас спросить об этом), переместив рассматриваемую директорию где-то еще, где вы можете сделать права действительно прав. Если вам все еще нужно увидеть его, когда вы обратитесь к ~/website/logs вы можете поместить туда мягкую ссылку в новое место.