
我有一個家庭媒體檔案伺服器,我已經在 Ubuntu 20.04 上連接了一個新用戶(透過 Samba)。檔案伺服器是一台微型 PC,執行 NAS 的工作。
新用戶9 歲,想要讀取幾個包含兒童影片的資料夾、她自己的檔案等的權限。讀取權限。
我有興趣讓用戶擁有 samba 共享的 root 權限,但顯然在 UI 中以其他方式限制它
是否有一個我可以安裝的故意破壞/只讀的文件管理器,它沒有任何刪除或更改文件的能力?或者哪一個可以使用內部允許或禁止的資料夾位置列表,而不參考使用者的權限?
是否(可能)可以從 Thunar 的功能中刪除 -rm 和 -mv 命令?例如,自訂操作可用於停用「刪除」鍵(它不在功能表中),但仍可在檔案伺服器上導覽。在這種情況下,「父」目錄實際上是父目錄
是否有任何家長監護類型的實用程式可以限製文件管理器以及或代替網路存取?
作為 1. 的替代方案,這僅用於播放媒體,那麼是否有任何客戶端專用的「視訊點唱機」應用程式無法移動/重命名/刪除?
另外,作為 1 的替代方案,我可以在 Samba 一側的文件伺服器上設定一個媒體伺服器應用程式 - 但這對於 Puppy Linux 可用的軟體包來說似乎並不簡單
===
人們經常說“孩子們能找到解決這些問題的方法”,但這涉及一系列關於能力水平的假設 - 請記住我的解決方法是製作當地副本
謝謝xx貓
答案1
我找到了使用 Samba 權限的解決方案,但仍然想知道是否有任何客戶端方法。 (我從來沒聽過,但誰知道)。
在我的情況下,有一個現有的+正在運行的類似 NAS 的文件伺服器共享外部 NTFS 文件系統,並且從未在 Windows 中設置用戶權限,運行 Samba 伺服器和具有成年用戶的 Ubuntu 客戶端 PC(“成人名稱”)和兒童使用者(“兒童名稱”)...
Samba NAS 盒子需要能夠將孩子的 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 中,成人用戶共享的條目需要添加以下行:-
讀取清單 = root 成人姓名 兒童姓名
寫入清單=根成人姓名
在上面,雖然違反直覺,但孩子的用戶名必須位於成人samba 共享的讀取列表中,因為他們的資料夾位於其中,並且權限不會簡單地「遍歷」以讓他們讀取他們的共享,而同時也無法閱讀上面的資料夾
設定 browserable = no 並不安全,就像從該使用者刪除這些檔案的 acl/POSIX 檔案權限一樣,但在這種情況下,它已經足夠了
在 smb.conf 中,子用戶共享的條目需要新增以下行:-
讀取清單 = root 成人姓名 兒童姓名
寫入清單=根成人姓名
就我而言,上述變更不會影響本機 Windows PC 存取共用
其他方法可能是為子用戶製作所有文件的本地副本,或者將共享硬碟重新格式化為ext4 並以不同的方式組織文件夾佈局- 但我發現這種方式更可取,它可以滿足我的要求,並且使用Samba缺少 acl 的存取控制
如果我犯了任何錯誤,我將不勝感激。如果有一種更簡單的方法來限制 Ubuntu UI 中的用戶,那也會很有用(因為如果有的話,在上面添加這些東西也沒什麼壞處)。