
基本的に私が探しているのは、Windows で誤ってファイルを削除してしまい、それらのファイルを復元する (便利な) 方法がないという心配をせずに、Debian Jessie ホストと Windows 7 ゲスト間でフォルダーを共有する方法です。
これは簡単に達成できるものだと思っていましたが、どうやらそうではないようです。
少しグーグルで検索したところ、TechNet で非常に詳細な回避策を見つけました。
しかし、結局のところ、両側が Windows 環境にある場合にのみ機能するようです (VirtualBox ではなく、たとえば NTFS が有効になっている通常の Windows システムをサーバーとして使用している場合でも機能する可能性があります)。私や他の人のコメントを参照してください:
... ファイルを削除すると、Windows は最初にファイルをごみ箱に移動するかどうかを尋ね、次に別のダイアログでアクセス許可 (管理者によって付与) が必要であることを伝え、再試行ボタンを表示します。その後、再試行をクリックしても、ファイルは既に削除されているため失敗します。エクスプローラーが管理者として実行されているかどうかは関係なく、動作は同じです...
そこで、この問題の別の解決策を見つけたいと思っています。それがゲストだけで実現できるかどうか (TechNet で説明されているハックのように)、またはホスト設定に何らかの変更を加える必要があるかどうかは (今のところ) 問題ではありません。どんなご意見でも歓迎します!
シャドウコピーのようなものを想像できます拡張子4ファイルシステム(可能であれば)またはファイルサーバーを設定することでサンバ(?) をホストで調べて、それをゲストにマッピングする方法を見つけました。
ご覧のとおり、私の知識はここではあまりありません...
答え1
Linux では、Samba は vfs_recycle モジュールを使用してファイルの削除をインターセプトし、ファイルを別のリポジトリに移動できます。
以下のリンクを参照してください:
- vfs_recycle モジュール
- vfs_recycle の例
- Samba vfs リサイクル機能: クリーンアップ スクリプト
- tmpウォッチ- 一定期間アクセスされていないファイルを削除します
答え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 = Never
、usershare 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 program
passwd chat