仮想ボックス、Linux ホスト、Windows ゲスト、共有フォルダ、ごみ箱

仮想ボックス、Linux ホスト、Windows ゲスト、共有フォルダ、ごみ箱

基本的に私が探しているのは、Windows で誤ってファイルを削除してしまい、それらのファイルを復元する (便利な) 方法がないという心配をせずに、Debian Jessie ホストと Windows 7 ゲスト間でフォルダーを共有する方法です。

これは簡単に達成できるものだと思っていましたが、どうやらそうではないようです。

少しグーグルで検索したところ、TechNet で非常に詳細な回避策を見つけました。

マップされたネットワークドライブでごみ箱を有効にする

しかし、結局のところ、両側が Windows 環境にある場合にのみ機能するようです (VirtualBox ではなく、たとえば NTFS が有効になっている通常の Windows システムをサーバーとして使用している場合でも機能する可能性があります)。私や他の人のコメントを参照してください:

... ファイルを削除すると、Windows は最初にファイルをごみ箱に移動するかどうかを尋ね、次に別のダイアログでアクセス許可 (管理者によって付与) が必要であることを伝え、再試行ボタンを表示します。その後、再試行をクリックしても、ファイルは既に削除されているため失敗します。エクスプローラーが管理者として実行されているかどうかは関係なく、動作は同じです...

そこで、この問題の別の解決策を見つけたいと思っています。それがゲストだけで実現できるかどうか (TechNet で説明されているハックのように)、またはホスト設定に何らかの変更を加える必要があるかどうかは (今のところ) 問題ではありません。どんなご意見でも歓迎します!

シャドウコピーのようなものを想像できます拡張子4ファイルシステム(可能であれば)またはファイルサーバーを設定することでサンバ(?) をホストで調べて、それをゲストにマッピングする方法を見つけました。

ご覧のとおり、私の知識はここではあまりありません...

答え1

Linux では、Samba は vfs_recycle モジュールを使用してファイルの削除をインターセプトし、ファイルを別のリポジトリに移動できます。

以下のリンクを参照してください:

答え2

@harrymc の回答のおかげで、ごみ箱を有効にした Samba をセットアップできました。私が実行した手順は次のとおりです。

1.Virtual Boxの共有フォルダを無効にする

まず、Virtual Box の共有フォルダーをすべて無効にして、すべてのファイル共有が Samba で構成されたネットワーク共有経由でのみ行われるようにしました。ただし、これは必須ではありません。

2. Sambaをインストールする

私はその後、https://wiki.debian.org/SambaServerSimpleSamba をインストールするための...

apt-get install samba samba-client

3. Sambaユーザーを作成する

...そして、次のようにして新しいユーザーを作成します:

smbpasswd -a johndoe

4. Samba設定を更新する

共有フォルダを構成するために、ホストコンピュータの名前にマップされるという/etc/samba/smb.conf名前のセクションを更新しました。[shared]//debian/sharedデビアン私の場合。

[shared]
   path = /home/johndoe/shared
   comment = My Shared Folder
   read only = no
   browseable = yes
   create mask = 0777
   directory mask = 0777
   guest ok = no
   hide files = /.recycle/
   vfs objects = recycle
      recycle:repository = .recycle
      recycle:keeptree = yes
      recycle:versions = yes
      recycle:touch = yes
      recycle:minsize = 0
      recycle:maxsixe = 0

5. Sambaを再起動する

設定が完了したら、ファイルを保存し、次のコマンドで samba を再起動します。

sudo service smbd restart

6. 完了

これで完了です。Windows//debian/sharedエクスプローラーを使用して接続したWindowsゲストに戻り、ジョン・ドウ以前と同じように設定しました。そして今、ファイルを削除するときに、永久に削除するかどうかを尋ねられますが、はいファイルは実際には削除されず、リサイクル リポジトリ ディレクトリに移動されます。


ノート:

私は認識している空のフォルダを削除するゲスト永久に削除しますリサイクル リポジトリ ディレクトリに移動するのではなく、ホストでも実行します。


ごみ箱を保護しています...

このhide files = /.recycle/設定により、Windows エクスプローラーの標準設定ではリサイクル リポジトリ フォルダーが表示されなくなりますが、共有フォルダーの外部でもリサイクル リポジトリを使用できるため、どのクライアントもその内容を削除できません。設定するには、次のコードを/home/johndoe/.shared.recycle使用します。

      recycle:repository = ../.shared.recycle

追加構成

この質問の範囲から少し外れますが、ここで私の完全な設定ファイルを見ることができます。設定の多くは、[global]Sambaをインストールした後に最初に存在していました。しかし、私は常に実際に何が設定されているかを知りたいので、smb.conf は、次の URL から入手できます。マニュアル ページを参照し、デフォルト設定の一部を変更しました。

[global]
   workgroup = WORKGROUP
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1024
   syslog only = no
   syslog = 0
   server role = standalone server

   map to guest = Never
   usershare allow guests = no

   pam password change = yes
   obey pam restrictions = yes
   unix password sync = no

   passdb backend = tdbsam
   encrypt passwords = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .


;[homes]
;   comment = Home Directories
;   browseable = no
;   read only = yes
;   create mask = 0700
;   directory mask = 0700
;   valid users = %S

;[printers]
;   path = /var/spool/samba
;   comment = All Printers
;   browseable = no
;   read only = yes
;   create mask = 0700
;   printable = yes
;   guest ok = no

;[print$]
;   path = /var/lib/samba/printers
;   comment = Printer Drivers
;   browseable = yes
;   read only = yes
;   guest ok = no

#[shared]
# ... as shown above

ご覧のとおり、今のところプリンターを共有したくないので、コメント[printers]とセクションがあります。[print$]

私もこの[homes]セクションにコメントしました。主な理由は、これを有効にした場合のセキュリティ上の意味についてあまりよく知らないからです。ここでこれについて詳しく説明したい方がいらっしゃいましたら、大歓迎です。

私が理解しているのはmap to guest = Neverusershare allow guests = noゲストアクセスを完全に無効にするということです。

しかし、上記に示した他のセキュリティ関連の設定についてはあまり知りません。これらの設定が単独で、または全体として何を意味するのかを誰かに説明していただければ幸いです。特にpam password change、、obey pam restrictionsおよびunix password syncは、マニュアル ページのそれぞれの章を読んでもあまり明確ではありません。

https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#PAMPASSWORDCHANGE

https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#OBEYPAMRESTRICTIONS

https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#UNIXPASSWORDSYNC

passdb backend最後に、、およびの設定はencrypt passwords、Debian Jessie のインストール時にデフォルトで付属します。passwd programpasswd chat

関連情報