У меня есть домашний файловый сервер, к которому я подключил нового пользователя на Ubuntu 20.04 (через Samba). Файловый сервер - это микро-ПК, выполняющий работу NAS.
Новому пользователю 9 лет, и он хочет получить права на чтение нескольких папок с детским видео, ее собственными файлами и т.д. Я могу просто сделать ей локальную копию этих папок, но было бы приятнее найти способ ограничить доступ с гостевой стороны, а не на сервере.
Я заинтересован в том, чтобы оставить пользователю права root на общий ресурс samba, но, очевидно, ограничить его каким-то другим способом в пользовательском интерфейсе
Есть ли намеренно закрытый / доступный только для чтения файловый менеджер, который я могу установить, но который не имеет возможности удалять или изменять файлы? Или который может использовать внутренние разрешенные или запрещенные списки расположения папок, не обращаясь к разрешениям пользователя?
Возможно ли (возможно ли) удалить команды -rm и -mv из возможностей Thunar? Например, пользовательские действия могут быть использованы для отключения клавиши 'delete' (и ее нет в меню), но остается возможность перемещаться по файловому серверу. В этом случае "родительский" каталог буквально является каталогом родителя
Есть ли какая-нибудь утилита типа родительского контроля, которая может ограничить файловые менеджеры, а также или вместо доступа в Интернет?
В качестве альтернативы 1. Это только для воспроизведения медиа, поэтому есть ли какое-нибудь приложение "Video Jukebox" только для клиента, которое не может перемещать/переименовывать/удалять?
Также в качестве альтернативы 1. Я мог бы потенциально установить приложение медиа-сервера на файловом сервере, вокруг Samba - но это не кажется простым с пакетами, доступными в Puppy Linux
===
Люди часто говорят "дети находят способы обойти эти вещи", но это включает кучу предположений об уровне способностей - помните, что мой обходной путь - сделать локальную копию
спасибо xx Catty
Я нашел решение, использующее разрешения 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, это тоже будет полезно (поскольку не помешает добавить такие вещи поверх, если они есть).