Стратегии разрешений для пользователей и групп Linux для домашнего семейства NAS

484
Alex

Я довольно новичок в Linux, но мне удалось создать собственный DIY NAS (Odroid CS2, Ubuntu 18.04), настроить Samba, SSH и т. Д., И сейчас я нахожусь на этапе управления доступом и папками.

Я понимаю, что chownи chmodвообще делаю, но мне не хватает типичных стратегий управления разрешениями в многопользовательской среде.

Ситуация:
я сам отвечаю за технику в моей семье, все остальные члены семьи довольно небрежны, когда дело доходит до безопасности, но они также не последуют моим советам по улучшению (однако, они будут просить помощи в случае, если никаких неприятностей).

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

В настоящее время на NAS имеется одна основная папка:

/secure/usr/ с парой подпапок: /01_monika /02_rebecca /03_hans /04_alfred /05_share

У каждого пользователя есть пользователь linux и пользователь samba с одинаковым именем (например, monika, rebecca, hans, alfred), и есть одна группа (например, samba_users).

Проблема:
я хочу, чтобы все пользователи хранили свои файлы в своих собственных каталогах, но только некоторые подпапки (такие как / photos) должны быть доступны (разрешение на чтение) другим пользователям. Все остальные папки / файлы в идеале должны быть скрыты для других членов семьи или, по крайней мере, недоступны.

Пример: поскольку компьютеры членов семьи могут быть скомпрометированы вирусами и троянами, никто не должен иметь возможность читать личные файлы других пользователей по умолчанию, например, /02_rebecca/documentsон не доступен для пользователей. Тем не менее, /02_rebecca/photos/должен иметь доступ для чтения, потому что члены семьи часто должны делиться своими фотографиями, и в идеале я не хочу, чтобы они хранили все свои общие файлы отдельно в /05_share.

Спасибо за любые предложения!

Дополнительные мысли:

  • Работают ли символические ссылки, чтобы получить прошлые разрешения родительского каталога, например, разрешить samba_usersдоступ к подпапке, /photos/когда разрешения для родительского каталога /hans/photos/не разрешают доступ на чтение? Я читал, что символические ссылки не работают в Windows, но Microsoft говорит иначе .

  • Я знаю, что мог бы создавать подпапки (например) /01_monika/private/и /01_monika/shared/для каждого пользователя. Но я хотел бы избежать этого, так как некоторые из членов моей семьи запутаются и все уладят/shared

2
Прежде всего обратите внимание, что направляющие NFS не отображаются напрямую на другие протоколы. NFS в основном основан на UID (клиент и сервер должны совпадать), в то время как SMB и SSHFS в основном основаны на учетных записях (сервер заботится только о логине / пароле). grawity 6 лет назад 0
Да, я только что сослался на это из-за использования nogroup Alex 6 лет назад 0
Не могли бы вы установить FreeNAS на ODroid? Это даст вам много инструментов для ваших требований .... Kinnectus 6 лет назад 0
Это было бы возможно, но я думаю, что в Ubuntu уже есть все, что мне нужно на борту (полное шифрование диска, samba, rsync, ssh - мне больше не нужно, + он поставляется с odroid) Alex 6 лет назад 0

1 ответ на вопрос

0
Alex

Я нашел способ, как объяснил здесь пользователь @Gilles:

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

Это значит, установить бит выполнения, но запретить чтение в пользовательских каталогах ( rwx--x---). Затем в подпапках /photos/разрешите права на чтение и выполнение для group family( rwxr-x---).

Это означает, что обычно пользовательские каталоги не могут быть открыты напрямую всеми членами семьи, но, зная, что есть подпапка /01_monika/photos/, пользователь может напрямую открыть эту конкретную папку. Тогда мне нужно только создать ярлыки для этих подпапок на рабочем столе людей или в главной папке где-нибудь на NAS.

Я знал, что это будет возможно, это именно то, что мне нужно!

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