Ubuntu は、サーバーへのアクセスを制限するクライアント側の方法を提供していますか?

Ubuntu は、サーバーへのアクセスを制限するクライアント側の方法を提供していますか?

私はホームメディア ファイルサーバーを所有しており、Ubuntu 20.04 の新しいユーザーを (Samba 経由で) 接続しています。ファイルサーバーは、NAS の役割を果たすマイクロ PC です。

新しいユーザーは 9 歳で、子供のビデオや自分のファイルなどのいくつかのフォルダーへの読み取り権限を希望しています。ローカル コピーを作成することもできますが、サーバーではなくゲスト側からのアクセスを制限する方法を見つける方がよいでしょう。

ユーザーにSamba共有のルート権限を残しつつ、UIで別の方法で制限することに興味があります。

  1. 意図的に制限された、または読み取り専用の、ファイルを削除または変更できないファイルマネージャをインストールできますか? または、ユーザーの権限を参照せずに、フォルダーの場所の内部許可または禁止リストを使用できるファイルマネージャはありますか?

  2. Thunar の機能から -rm および -mv コマンドを削除することは可能でしょうか (可能になりそうです)? たとえば、カスタム アクションを使用して 'delete' キーを無効にすることはできますが (メニューには表示されません)、ファイル サーバーをナビゲートする機能は残っています。この場合、「親」ディレクトリは文字通り親のディレクトリです。

  3. インターネット アクセスだけでなく、ファイル マネージャーも制限できる、ペアレンタル コントロール タイプのユーティリティはありますか?

  4. 1 の代替として、これはメディアの再生専用なので、移動/名前変更/削除ができないクライアント専用の「ビデオ ジュークボックス」アプリケーションはありますか?

  5. また、1 の代替案として、Samba の周りでファイルサーバー上にメディアサーバーアプリケーションをセットアップすることもできますが、Puppy Linux で利用可能なパッケージでは簡単ではないようです。

===

「子供はこういうことの回避策を見つける」とよく言われますが、これには能力レベルに関する多くの仮定が含まれます。私の回避策はローカルコピーを作成することです。

ありがとうxxキャティ

答え1

Samba 権限を使用する解決策を見つけましたが、クライアント側のアプローチがあるかどうかも知りたいです。(聞いたことはありませんが、誰が知っていますか)。

私の状況では、外部の NTFS ファイルシステムを共有する既存の稼働中の NAS のようなファイルサーバーがあり、Windows 内からユーザー権限が設定されておらず、Samba サーバーが実行されており、Ubuntu クライアント PC には大人のユーザー (「adultname」) と子供のユーザー (「childname」) がいます...

  • 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を使用する必要があります。

  • 共有HDDでは、子供ユーザーのフォルダを大人ユーザーのフォルダ内に保存したり、大人のフォルダをドライブのルートにしたりしないのが最善です(私の場合、これらのことは簡単には避けられませんでした)

  • 書き込み権限がなく読み取り権限が制限された子ユーザーを追加するために必要な単純な権限は、smb.confを編集することでSamba内で管理できます。

  • smb.conf のグローバル設定に次の行を追加する必要がありました:-

    閲覧可能 = いいえ

  • smb.conf で、成人ユーザーの共有のエントリに次の行を追加する必要がありました:-

    読み取りリスト = ルート 大人の名前 子供の名前

    書き込みリスト = ルート大人の名前

  • 上記では、直感に反しますが、子供のユーザー名は大人の samba 共有の読み取りリストに含まれている必要があります。これは、子供のフォルダーがその中にあり、権限が単純に「トラバース」して、上のフォルダーも読み取れずに子供の共有を読み取ることができないためです。

  • browseable = no に設定することは、そのユーザーからそれらのファイルの ACL/POSIX ファイル権限を削除するのと同じくらい安全ではありませんが、この場合は十分です。

  • smb.conf では、子ユーザーの共有のエントリに次の行を追加する必要がありました:-

    読み取りリスト = ルート 大人の名前 子供の名前

    書き込みリスト = ルート大人の名前

  • 私の場合、上記の変更は共有にアクセスするローカルWindows PCには影響しませんでした。

他のアプローチとしては、子ユーザーのすべてのファイルのローカルコピーを作成するか、共有HDDをext4として再フォーマットしてフォルダーレイアウトを別の方法で整理することがありましたが、私はこの方法の方が好ましいと感じました。これは私が望んでいたことを実行し、Sambaのアクセス制御をACLよりも短く使用しています。

何か間違いがあったら、教えていただけるとありがたいです。Ubuntu UI 内でユーザーを制限するより簡単な方法があれば、それも便利です (そのようなものがある場合は、その上に追加しても問題はありません)。

関連情報