Задача - создать такую хитрую папку на файлопомойке, чтобы все могли туда записывать и редактировать, но не могли удалять, то есть создать файлоловушку - пускать всех и не выпускать никого.
Средствами Linux делается это не просто, а очень просто с использованием флага режима доступа sticky bit (он же - бит закрепления в памяти). Символическое и восьмеричное представление соответственно t и 1000. Права доступа к файлу с использованием sticky bit выглядят как rwxrwsrwt или 1777.
Правим конфиг smb.conf:
[priem_galob_ot_naselenya]
comment = Priem galob ot naselenya
path = /u04/priem_galob_ot_naselenya
force create mode = 1777
force directory mode = 1777
writeable = yes
guest ok = yes
browseable = yes
printable = no
Значения force create mode и force directory mode установят нужные нам права доступа к файлам rwxrwxrwt, то есть удалить их сможет только владелец.
Поскольку в современных UNIX-системах sticky bit больше не используется для файлов, а только для каталогов, то самым важным значением является именно force directory mode.
Но фишка в том, что все юзеры в сетке являются nobody, файлы и каталоги создаются с атрибутами владельца nobody:nogroup, и опять же все являются владельцами любого созданного файла.
Поэтому, меняем владельца всех каталогов и файлов каждые 20 минут в папке /u04/priem_galob_ot_naselenya, добавив в /etc/crontab строчку:
*/20 * * * * root /etc/priem_galob_ot_naselenya
в файле /etc/priem_galob_ot_naselenya пишем:
/bin/chown -R root.root /u04/priem_galob_ot_naselenya
Все! Теперь можно в эту папку записывать и редактировать как угодно любую жалобу от населения, но удалить ее сможет только админ