1

Я хочу ограничить удаление определенной папки в домашней папке пользователя и запретить любое добавление / изменение / удаление файлов в этом ограниченном каталоге.

/home/myuser
/home/myuser/_protected //no delete
/home/myuser/_protected/1.txt //only read

Как я могу сделать это на сервере Ubuntu?

1 ответ1

1

Говоря «ограничить удаление» и «добавить / удалить / изменить», я предполагаю, что вы имеете в виду запретить эти действия для пользователя?
Обратите внимание, что папка не может быть удалена, если все ее файлы не будут удалены первыми. Таким образом, запретив удаление файлов, папка также не может быть удалена.

Чтобы сделать файл доступным только для всех, кроме root, создайте файл как root, установите соответствующие флаги с помощью chmod , например, chmod 444 read_only_file.txt .

РЕДАКТИРОВАТЬ: чтобы предотвратить удаление папки, даже если она пуста, необходимо сделать родительскую папку только для чтения. Например, chmod 555 parentFolder . Это предотвратит переименование, создание или удаление любых файлов в родительской папке.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .