Дело в том, что ОС Windows не даёт нам такой замечательной возможности, как сетевая корзина, по сравнению с Linux, поэтому мы воспользуемся этой функцией и выжмем из Linux максимум.
Для это нам нужно:
- Получаем права root
- Создаём каталог (например, recycle), который в дальнейшем будет таким же сетевым диском, как и fileshare. Каталог создадим в корне /. Набираем:
root@File-SRV:~# mkdir /recycle
- Теперь нам нужно предоставить права доступа на эту папку, так как по умолчанию права доступа имеет только владелец, т.е. создатель root. Набираем:
root@File-SRV:~# chmod –r 777 /recycle
Хитрости, блохи и грабли: Обратите внимание, что папка Recycle по своей сути ничем не отличается от папки fileshare. А так же обратите внимание, что эта папка также отнимает свободное пространство у основного диска (массив Raid1).
- Теперь нам нужно исправить файл конфигурации /etc/samba/smb.conf с помощью текстового редактора nano. Для этого допишем в его конец (набираем nano /etc/samba/smb.conf) такое содержимое:
[Recycle]
comment = Recycle
path = /recycle
available = yes
browseable = yes
read only = no
public = yes
guest ok = yes
guest only = yes
writable = yes
write list = guest
Хитрости, блохи и грабли: Обратим внимание на то, что у нас по своей сути получилась обычная сетевая папка с теми же правами доступа, что и у папки fileshare и в таком виде в папку recycle у нас ничего не будет попадать. Для того, чтобы у нас всё же перемещались файлы и папки из папки fileshare в папку recycle при удалении, нам необходимо снова исправить файл конфигурации /etc/samba/smb.conf в разделе [FileShare].
Теперь этот раздел должен выглядеть так:
[FileShare]
comment = File Shares
path = /fileshare
available = yes
browseable = yes
read only = no
public = yes
guest ok = yes
guest only = yes
writable = yes
write list = guest
vfs object = recycle crossrename
recycle:repository = /recycle
recycle:directory_mode = 0777
recycle:subdir_mode = 0777
recycle:keeptree = yes
recycle:versions = yes
recycle:touch = yes
recycle:touch_mtime = yes
recycle:exclude = *.tmp|*.temp|*.o|*.obj|~$*|*.~??|*.trace
recycle:excludedir = /tmp|/temp|/cache
recycle:noversions = *.doc|*.ppt|*.dat|*.ini|*.tmp|*.TMP|~$*|~WRL*|*~lock.*|*.dbf|*.cdx|*.DBF|*.CDX|*.ert|*.efd|*.ERT|*.EFD
Хитрости, блохи и грабли: Обратим внимание на интересные параметры:
recycle:repository = /recycle – указывает на чёткое расположение папки корзины (в нашем случае она находится в корне по адресу /recycle). Но можно написать так: recycle:repository = .recycle В такой конструкции скрытая папка recycle будет сама автоматически создаваться в корне папки fileshare при удалении чего-либо из папки fileshare! Для нас такой случай не интересен, так как обычные пользователи по умолчанию не видят скрытых файлов и папок!
recycle:exclude – указывает на те файлы, которые не нужно переносить в корзину!
recycle:excludedir – указывает на те папки, которые не нужно переносить в корзину!
recycle:noversions – указывает на те расширения, за которыми не надо следить за версиями файлов!
- Теперь нам необходимо перезапустить Samba-сервер, после чего у нас полноценно заработает сетевая корзина Recycle. Для этого набираем:
root@File-SRV:~# restart smbd
root@File-SRV:~# restart nmbd
|