LINUX.ORG.RU

man 2 access


0

2

Строка из man 2 access:

Warning: Using access() to check if a user is authorized to, for example, open a file before actually doing so using open(2) creates a security hole, because the user  might  exploit  the  short  time interval between checking and opening the file to manipulate it.

Я что-то не могу понять, что эта за security hole, и как она может использоваться.


Пейсатель жжет. Как будто внутри open нет проверки на доступ.

vertexua ★★★★★
()

это значит, что если ты юзаешь access() для проверки, а потом open() для открывания и при этом не проверяешь статус у open(), то в тот короткий промежуток между access() и open() кто-то может ВНЕЗАПНО сменить права на файл и угандошить твою прогу. Впрочем, если ты не проверяешь что тебе возвращает open(), сам себе злобный буратино.

anonymous
()
Ответ на: комментарий от anonymous

хотя нет, а херь полную написал. Там проблема может возникнуть при UID!=EUID. Так что бойся.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.