как я могу запретить пользователям удалять файлы и папки.
Или, другими словами, есть ли такое разрешение, что пользователь может добавлять файлы в каталог, но не удалятьих?
НЕТ . Разрешение на запись, данное каталогу, позволяет пользователю изменять этот каталог, что означает создание новых записей, но также означает удаление записей. Обе операции, по сути, изменяют каталог, то есть список файлов, содержащихся там. Было бы очень удобно различать добавление файла и удаление его - но все не так.
Но, в зависимости от ОС и файловой системы, может быть, вы можете установить специальный атрибут в каталоге:
chattr -d +a nodelete/
даст специальный атрибут «только добавление» в указанный каталог. «Добавить только» означает, что вы можете создавать, но не удалять или перезаписывать. Это позволит достичь, по-видимому, именно то, что вы хотите;см. документацию по chattr, это может быть ваш друг.