Здравствуйте, уважаемые коллеги. Меня мучает вопрос.
Представим ситуацию: у нас есть каталог с разрешениями wx, в нём находится файл з разрешением r. Вопрос: почему можно удалить файл, если на нём не стоит w? Файл удаляется на 100% без возможности его восстановить в будущем. При удалении же содержимое файлов меняется на 0 или 1, неважно. Здесь получается нарушение эффективности прав, тоесть запрет имеет меньший приоритет чем разрешение. Например если на каталоге стоит r, а на файле нет, то файл прочитать нельзя. А с w так не работает. Дайте пожалуйста ответ на вопрос: почему и как так происходит?
Да, но при удалении файла меняется его содержимое, но w на файле не стоит, но всёравно файл удаляется, тоесть и меняется его содержимое. Почему так происходит?
Дмитрий, Вот и я преподавателю так же отвечаю, он говорит что мы удаляем файл на 100% без возможности восстановить, содержимое файлов меняется, а почему если разрешения нет?
'удаление на 100% без возможности восстановления' это не штатная фича файловых и операционных систем, и формируется обычным пользовательским софтом из двух операций - записи в файл случайных данных и последующим их удалением (опционально такие программы могут заполнить все свободное пространство на диске создавая файл до упора, потом и его удалить).
так вот операция записи в файл должна прекратиться, если нет на это прав.
Потому что удаление - операция с содержимым каталога, а на каталог w есть. r не дает изменить файл. Здесь нет никакого конфликта, потому что права относятся к разным субьектам.
Когда на каталоге r, а на файле ничего - можно получить информацию о файле (метаданные), но нельзя файл открыть, то есть сначала идет действие с каталогом, а потом с файлом.
Когда на каталоге rw, а на файле r - действий с файлом для его удаления не нужно :)