Что же касается запрета именно на удаление, то тут все сложнее и без разрешений на уровне ФС не обойтись
Идея состоит в том, чтобы дать пользователю права на запись в файл, и отобрать права на запись в директорию (поскольку удаление файла это грубо говоря запись в каталог предыдущего уровня)
Можно сделать примерно так:
chown -R user:group /data1/share
find /usr/share -type f -exec chmod 664 {} \;
find /usr/share -type d -exec chmod 775 {} \;
В описание шары в smb.conf нужно добавить
create mask = 0664
directory mask = 0775
В итоге пользователь user и члены группы group будут иметь полные права
Те же, кто в эту группу не входит, смогут редактировать файлы, но не удалять. Кстати, создавать файлы они тоже не смогут