Я устанавливаю 444 разрешения для файла, но все же я могу переименовывать файлы.

Я пробовал это через php с функцией rename() и в терминале с командой mv.

Я перечисляю свой файл, и он выглядит как -r - r - r-- 1

Итак, мой вопрос, для переименования файлов вам не нужны разрешения, поэтому файл. Я думаю, что это проблема безопасности, так как кто-то без разрешения может просто изменить имена всех моих файлов и сломать мою систему.

2 ответа2

3

Переименование выполняется на уровне каталогов. Если у пользователя есть права на запись в каталог, он может переименовать файлы в этом каталоге, даже если у них нет доступа к самим файлам.

например, имя файла хранится в каталоге "файл". Так создаются жесткие ссылки, позволяющие одному файлу иметь несколько имен файлов, связанных с ним.

другими словами, это работает, как ожидалось, и не является "проблемой безопасности".

0

Переименование файла изменяет каталог, а не сам файл. Удалите разрешения w из каталога, чтобы предотвратить это.

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