概要
Sambaを使用したファイルサーバーにゴミ箱機能を追加する
環境
- windows10
- VMware Workstation 16 Playerで作成した仮想マシン
- CentOS7
- Samba 4.10.16
手順
1.VFSモジュールが使用できるか確認する
samba-vfs-glusterfs.x86_64
があるかどうか確認する
# yum list installed samba*
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: d2lzkl7pfhq30w.cloudfront.net
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
インストール済みパッケージ
//ここから探す
無かったら=>2へ
あったら =>3へ
2.パッケージをダウンロード
Samba VFS module
を以下のコマンドで探す
# yum search samba
...
samba-vfs-glusterfs.x86_64 : Samba VFS module for GlusterFS
...
インストールする
# yum -y install samba-vfs-glusterfs.x86_64
確認する
# yum list installed samba*
...
インストール済みパッケージ
...
samba-vfs-glusterfs.x86_64 ←これがあるかどうか
...
3./etc/samba/smb.confを設定する
vi /etc/samba/smb.conf
で設定を入れていく
- 全てのフォルダに追加したい場合=>[global]下に設定
- 一部のフォルダのみに追加する場合=>[フォルダ名]下に設定
/etc/samba/smb.conf
[〇〇〇]
vfs objects = recycle
recycle:repository = .recycle
recycle:keeptree = no
recycle:versions = yes
recycle:touch = no
recycle:maxsize = 0
recycle:exclude = *.tmp ~$*
意味一覧
コード | 意味 |
---|---|
vfs objects = recycle | ごみ箱の有効化 |
recycle:repository | ごみ箱のディレクトリ名 |
recycle:keeptree | ごみ箱へ移動時にディレクトリ構造を維持するかどうか |
recycle:versions | 同名のファイルがごみ箱にある場合に別名で移動するかどうか |
recycle:touch | ごみ箱へ移動時にタイムスタンプを更新するかどうか |
recycle:maxsize | ごみ箱へ移動するファイルのサイズ上限(0:無制限) |
recycle:exclude | 指定したファイルはごみ箱へ移動せずに即削除する |
3-1.ゴミ箱フォルダを作成し指定するとき
XXXフォルダ専用のごみ箱を作成する
(1)ゴミ箱フォルダを作成する
# cd 作りたい場所
# mkdir XXX
# chown -R nobody:nobody ゴミ箱
(2)/etc/samba/smb.conf
の設定
3で設定したディレクトリ名を変更する
/etc/samba/smb.conf
[XXX]
recycle:repository = ./ゴミ箱
4.sambaの再起動
設定を変更したら、必ず再起動しましょう!
# systemctl restart smb
5.機能確認
エクスプローラーで、適当にファイルやフォルダを作成して削除する
↓
削除後に、.recycle
フォルダがなければ作成され、その中に削除したファイル・フォルダが格納されていることを確認。
※.recycle
は隠しファイルであるため、表示から隠しファイルにチェックを入れないと見ることができない
※CentOS側からrm
コマンドで削除しても、ゴミ箱へは行きません。