Это не очень изящное решение, но Вы могли просто создать запланированную задачу, чтобы повторно включить администраторскую долю и иметь выполняемый каждый час. Если у него есть полномочия добавить/удалить запланированные задачи, то он мог отключить задачу также, но Вы могли также использовать групповую политику, чтобы мешать ему получать доступ к тому конкретному обрыву MMC. (Запланированные задачи в Windows 7 являются обрывом MMC, тогда как в XP и Сервере 2003 они не, таким образом, Вы, возможно, должны сделать эти конфигурации из другого компьютера Windows 7, не из DC, так как я не думаю, что плагин задач появится на DC.)
Я решил проблему, не дав пользователю права на запись в его корневой каталог, но установив подпапки с разрешениями на запись, чтобы он по-прежнему мог загружать файлы. Не в корень, а во вложенные папки. Не очень хорошо, но работает!
В более ранних версиях allow_writeable_chroot=YES
не доступна (она была добавлена в vsftpd версии 3 и далее).
Как и в других ответах, вы можете создавать права на запись в подпапки, но держать папку chroot (и скрытые файлы внутри) только для чтения.
В моей реализации вы можете создать другую папку /home/username внутри chroot. Таким образом, подключение к FTP-серверу по умолчанию будет осуществляться в домашней директории пользователя относительно chroot.
В моем скрипте создания учетной записи пользователя это выполняется следующим образом (все команды выполняются как sudo):
chown root:root /home/$username
mkdir -p /home/$username/home/$username
chown $username:$username /home/$username/home/$username
Затем, когда пользователь входит на ftp-сервер, у него появляется новая домашняя папка относительно chroot. Им принадлежит эта папка, и они могут вносить изменения внутри этой папки. Может потребоваться дополнительная конфигурация, чтобы установить ее в качестве своей стандартной папки входа (passwd?); когда пользователь нажимает на свою кнопку "home" на любом ftp клиенте, который он использует, он переместит его в эту папку.
.