суббота, 16 апреля 2016 г.

Запрет записи некоторых файлов на общий ресурс Samba

В связи с очень высокой стоимостью владения файловыми серверами компании на платформе Windows (лицензирование сервера + лицензия клиентского доступа CAL на каждое подключение) было принято решение о переводе файловых ресурсов на серверы Linux Samba.

Однако при этом возник вопрос о культуре использования пользователями файловых ресурсов.

Увы, но возможность обеспечения безлимитным дисковым пространством так называемых "обменов" отсутствует в связи с ограничением дискового пространства серверов. А пользователи привыкли зачастую помещать туда файлы, не относящиеся к работе, такие как, например, сборники музыки, фильмы, видеоролики. Просмотр списка графических изображений в виде эскизов на общих папках генерирует для каждой папки с находящимися в ней изображениями файлы db. Но самое "инновационное" решение от пользователей, с которым пришлось столкнуться, заключалось в помещении на общий ресурс архива, затем распаковка его в ту же папку, а потом создание в этой же папке очередного архива, который содержал уже в себе первоначальный архив и его распакованное содержимое.

Призывы к совести пользователей не нашли у последних отклика, поэтому пришлось применить некоторые административные методы. К счастью, такие нашлись в виде директив на конкретные общие папки (shares).

Итак, чтобы нельзя было записать в общую папку файлы архивов (zip. rar, 7z), кинофильмы и видеоролики (avi, mkv, mp4, mov), файлы mp3 или ogg, а также предотвратить создание вышеупомянутых файлов эскизов и "кусков", оставшихся от редактирования различных документов, добавьте в конфигурацию конкретного общего ресурса Samba следующие строки:

delete veto files = yes
veto files = /*.zip/*.rar/*.7z/*.mp3/*.ogg/*.avi/*.mp4/*.mov/*.mkv/*.vob/*.tmp/*.db/~WRL*/

Примечание. Можно также добавить и  ~$*/

Для применения новых настроек перезагрузите Samba.

Если необходимо противодействовать записи образов дисков или ряда файлов, содержащихся на компакт-дисках, то продолжите строку выше:  *.iso/*.nrg/*.ifo/*.bup/*.vob/

Директива delete veto files = yes указывает серверу Samba удалять файлы запрещённых форматов. А список данных запрещённых форматов содержится в строке veto files = , например: veto files = /*.3gp/

Теперь, если пользователь начнёт операцию копирования (или перемещения) в такую папку, например, фильма, то по завершении копирования (или перемещения) его ждёт сюрприз ...