LINUX.ORG.RU

Ответ на: комментарий от voltmod

Ну так все правильно, пользователь может писать в свою папку что угодно, в том числе записать в мета инфу что файлов там нету и файл исчезает.

Aber ★★★★★ ()

Потому что ты владеешь этим каталогом и имеешь право на запись в него

puffy ★★ ()

Удаление файла - это изменение(«запись») состояния каталога. Отбери права на запись в каталог у пользователя - и он не сможет удалять файлы, находящиеся в нём.

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Отбери права на запись в каталог у пользователя - и он не сможет удалять файлы, находящиеся в нём.

Есть альтернативный вариант, если я ничего не путаю то будет достаточно поставить на каталог sticky bit.
Но пользователь может этот sticky bit снять, так что тут все зависит от того чего хочет ТС.

Aber ★★★★★ ()
Ответ на: комментарий от voltmod

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

pfg ★★★★★ ()
Ответ на: комментарий от voltmod

немного странное поведение

В файловых системах для Unix и подобных ОС есть такая сущность как inode. В нём хранится информация о файле: размер, владелец, права, даты и т.д. А вот имя там не хранится. Имя записывается в каталог, что-то вроде: имя -> номер_inode. Когда ты удалешь файл из каталога, такая запись пропадает. Но сам inode и файл могут оставаться, если у файла было больше одного имени. Именно благодаря inode'ам ты можешь создавать несколько имён (жёстких ссылок) для одного файла. А удаляется файл, когда на его inode не ссылается больше ни одного имени.

ls-h ★★★★★ ()

Есть еще такой атрибут как sticky bit, который позволяет решить эту особенность

voltmod ★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.