我有一个家庭媒体文件服务器,我在 Ubuntu 20.04(通过 Samba)上连接了一个新用户。文件服务器是执行 NAS 工作的微型 PC。
新用户 9 岁,想要读取一些儿童视频文件夹、她自己的文件等的读取权限。我可以让她成为它们的本地副本,但最好找到某种方法来限制从来宾端而不是服务器上访问。
我有兴趣让用户拥有 samba 共享的 root 权限,但显然在 UI 中以其他方式限制它
我可以安装一个没有任何删除或更改文件能力的故意损坏/只读文件管理器吗?或者哪个可以使用内部允许或不允许的文件夹位置列表,而不参考用户的权限?
是否(可能)可以从 Thunar 的功能中删除 -rm 和 -mv 命令?例如,可以使用自定义操作来禁用“删除”键(它不在菜单中),但仍然可以在文件服务器上导航。在这种情况下,“父”目录实际上是父目录
是否有任何家长控制类型的实用程序可以限制文件管理器以及或代替 Internet 访问?
作为 1. 的替代方案,这仅用于播放媒体,那么是否有任何无法移动/重命名/删除的仅限客户端的“视频点唱机”应用程序?
也作为 1 的替代方案。我可能会在文件服务器上设置一个媒体服务器应用程序,在 Samba 的一侧 - 但这似乎并不简单,对于 Puppy Linux 可用的软件包
===
人们经常说“孩子们会找到解决这些问题的方法”,但这涉及到一堆关于能力水平的假设——记住我的解决方法是制作一个本地副本
谢谢xx斤
我找到了使用 Samba 权限的解决方案,但仍然想知道是否有任何客户端方法。(我从来没有听说过,但谁知道)。
在我的情况下,有一个现有的+工作的类似 NAS 的文件服务器共享一个外部 NTFS 文件系统,在 Windows 中没有设置任何用户权限,运行 Samba 服务器,以及具有成人用户的 Ubuntu 客户端 PC ("成人名”)和儿童用户(“儿童名”)...
Samba NAS-box 需要能够将孩子的 Ubuntu 用户名添加为用户。例如通过'adduser childname'
孩子的用户名已添加到服务器,但不能(轻松)用于在 NTFS 磁盘上设置任何 acl/Linux 文件权限,我只需要它用于 Samba
在服务器上创建用户后,必须将它们添加到 Samba 并在 Samba 上启用。用于此的命令是“smbpasswd -a childname”,然后是“smbpasswd -e childname”。
只要他们在添加子用户之前工作正常(有很多指南),服务器用来挂载其 HDD 的 /etc/fstab 行就不那么重要了,可以保持不变
客户端用于挂载 Samba 共享的 /etc/fstab 行也不是那么重要,无需为 acl、fmask= 和 dmask=、file_mode= 和 folder_mode= 或任何其他凭据添加新设置要创建的文件
无需尝试创建用户映射文件来启用 ntfs 磁盘上的 acl/POSIX 文件权限(这可能是一种方法)
在它们各自的 etc/fstab 文件中,服务器可以使用 ntfs 作为文件类型,但如果要自动挂载,客户端必须使用 cifs
在共享硬盘上,最好不要将儿童用户的文件夹保留在成人用户的文件夹中,或者将成人的文件夹作为驱动器的根目录(在我的情况下,我无法轻易避免这些事情)
可以通过编辑 smb.conf 在 Samba 内部管理添加没有写入权限和有限读取权限的子用户所需的简单权限
在 smb.conf 中添加此行所需的全局设置:-
可浏览 = 否
在 smb.conf 中,成人用户共享的条目需要添加以下行:-
阅读列表=根成人名儿童名
写列表 = 根大人姓名
在上面,虽然这违反直觉,但孩子的用户名必须在成人 samba 共享的读取列表中,因为他们的文件夹在其中,并且权限不会简单地“遍历”以让他们读取他们的共享而不能够阅读上面的文件夹
设置 browseable = no 并不安全,就像从该用户那里删除这些文件的 acl/POSIX 文件权限一样,但在这种情况下就足够了
在 smb.conf 中,子用户共享的条目需要添加以下行:-
阅读列表=根成人名儿童名
写列表 = 根大人姓名
在我的情况下,上述更改不会影响访问共享的本地 Windows PC
其他方法可能是为子用户制作所有文件的本地副本,或者将共享硬盘重新格式化为 ext4 并以不同方式组织文件夹布局 - 但我发现这种方式更可取,它可以满足我的需求,而且它使用的是 Samba没有acl的访问控制
如果我犯了任何错误,我将不胜感激。如果有一种更简单的方法可以在 Ubuntu UI 中限制用户,那也很有用(因为如果有这些东西,在上面添加这些东西也无妨)。