Стратегии разрешений для пользователей и групп 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
Прежде всего обратите внимание, что направляющие 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.
Я знал, что это будет возможно, это именно то, что мне нужно!