Предлагает ли Ubuntu какие-либо клиентские методы ограничения доступа к серверу?

У меня есть домашний файловый сервер, к которому я подключил нового пользователя на Ubuntu 20.04 (через Samba). Файловый сервер - это микро-ПК, выполняющий работу NAS.

Новому пользователю 9 лет, и он хочет получить права на чтение нескольких папок с детским видео, ее собственными файлами и т.д. Я могу просто сделать ей локальную копию этих папок, но было бы приятнее найти способ ограничить доступ с гостевой стороны, а не на сервере.

Я заинтересован в том, чтобы оставить пользователю права root на общий ресурс samba, но, очевидно, ограничить его каким-то другим способом в пользовательском интерфейсе

  1. Есть ли намеренно закрытый / доступный только для чтения файловый менеджер, который я могу установить, но который не имеет возможности удалять или изменять файлы? Или который может использовать внутренние разрешенные или запрещенные списки расположения папок, не обращаясь к разрешениям пользователя?

  2. Возможно ли (возможно ли) удалить команды -rm и -mv из возможностей Thunar? Например, пользовательские действия могут быть использованы для отключения клавиши 'delete' (и ее нет в меню), но остается возможность перемещаться по файловому серверу. В этом случае "родительский" каталог буквально является каталогом родителя

  3. Есть ли какая-нибудь утилита типа родительского контроля, которая может ограничить файловые менеджеры, а также или вместо доступа в Интернет?

  4. В качестве альтернативы 1. Это только для воспроизведения медиа, поэтому есть ли какое-нибудь приложение "Video Jukebox" только для клиента, которое не может перемещать/переименовывать/удалять?

  5. Также в качестве альтернативы 1. Я мог бы потенциально установить приложение медиа-сервера на файловом сервере, вокруг Samba - но это не кажется простым с пакетами, доступными в Puppy Linux

===

Люди часто говорят "дети находят способы обойти эти вещи", но это включает кучу предположений об уровне способностей - помните, что мой обходной путь - сделать локальную копию

спасибо xx Catty

0
задан 2 July 2021 в 13:29

1 ответ

Я нашел решение, использующее разрешения Samba, но все же хотел бы знать, есть ли какие-либо подходы на стороне клиента. (Я ни о чем не слышал, но кто знает).

В моей ситуации, когда существует + работающий файловый сервер типа NAS, совместно использующий внешнюю файловую систему NTFS, где никакие права пользователя никогда не устанавливались изнутри Windows, на котором запущен сервер Samba и клиентский ПК Ubuntu со взрослым пользователь ("имя взрослого") и дочерний пользователь ("имя ребенка") ...

  • NAS-ящик Samba нуждается в возможности добавлять имя пользователя Ubuntu ребенка в качестве пользователя. Например. через 'adduser childname'

  • дочернее имя пользователя добавляется к серверу, но его нельзя (легко) использовать для установки каких-либо прав доступа к файлам acl / Linux на NTFS-диске, мне просто нужно, чтобы оно было там для Samba

  • На сервере, как только пользователь был создан, он должен быть добавлен в Samba, а также включен в Samba. Команды для этого были «smbpasswd -a childname», а затем «smbpasswd -e childname».

  • пока они работали нормально до добавления дочернего пользователя (есть много руководств), строка / etc / fstab, которую сервер использует для монтирования жесткого диска, не так важна и может быть оставлена ​​прежней

  • / Строка etc / fstab, которую клиент использует для монтирования общего ресурса Samba, также не так важна, нет необходимости добавлять новые настройки для acl, или fmask = и dmask =, или file_mode = и folder_mode =, или для любого дополнительного файла учетных данных в быть созданным

  • нет необходимости пытаться создать файл сопоставления пользователей, чтобы разрешить доступ к файлам acl / POSIX на диске ntfs (это может быть возможным в качестве подхода)

  • в соответствующих файлах etc / fstab, которые сервер может используйте ntfs в качестве типа файла, но клиент должен использовать cifs, если он должен автоматически монтировать

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

  • простой вид разрешений, необходимых для добавления дочернего пользователя с n o Доступ для записи и ограниченный доступ для чтения могут управляться внутри Samba путем редактирования smb.conf

  • в smb.conf глобальных настроек, необходимых для добавления этой строки: -

    browseable = no

  • в smb.conf запись для общего ресурса взрослого пользователя, необходимая для добавления следующих строк: -

    read list = root adultname childsname

    write list = root adultname

  • в приведенном выше примере, хотя это нелогично, имя пользователя ребенка должно быть в списке чтения общего ресурса самбы взрослого, так как его папка находится внутри него, и разрешения не просто «перемещаются», чтобы позволить им читать их общий ресурс, не имея также возможности читать папку выше

  • , установив browseable = no isn ' t secure, как удаление разрешений файла acl / POSIX у этого пользователя для этих файлов, но в этом случае достаточно

  • в smb.conf, запись для общего ресурса дочернего пользователя должна содержать следующие строки: -

    read list = root adultname childsname

    write list = root adultname

  • в моем случае вышеупомянутые изменения не повлияли на локальные ПК с Windows, получающие доступ к общим ресурсам

Другие подходы могли заключаться в создании локальных копий всех файлов для дочерний пользователь или переформатировать общий жесткий диск в ext4 и организовать папку макет иначе - но я нашел этот способ предпочтительным, он делает то, что я хотел, и он использует контроль доступа Samba, за исключением acl

. Если я допустил какие-либо ошибки, я был бы благодарен об этом. Если есть более простой способ ограничить пользователя в пользовательском интерфейсе Ubuntu, это тоже будет полезно (поскольку не помешает добавить такие вещи поверх, если они есть).

0
ответ дан 28 July 2021 в 11:22

Другие вопросы по тегам:

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