강좌 & 팁
현재 커널은 벌썬 3.11.6 버전입니다.
3.11 버전에서 아주 재밌는 파일 시스템 기능이 추가되어 소개합니다.
원문은 아래와 같습니다.
1.1. New O_TMPFILE open(2) flag to reduce temporary file vulnerabilities
O_TMPFILE is a new open(2)/openat(2) flag that makes easier the creation of secure temporary files. Files opened with the O_TMPFILE flag are created but they are not visible in the filesystem. And as soon as they are closed, they get deleted - just as a file you would have opened and unlinked.
There are two uses for these files. One is race-free temporary files (deleted when closed, never reachable from any directory, not subject to symlink attacks, not requiring to come up with unique names - basically, tmpfile(3) done right). Another use is for creating an initially unreachable file, write whatever you want into it, fchmod()/fchown()/fsetxattr() it as you wish, then atomically link it in, already fully set up.
파일시스템에서 temporary file 의 취약점을 줄이기 위한 옵션이 등장했습니다.
이름하여 O_TMPFILE 입니다.
이 옵션을 이용해서 파일을 열게 되면 생성은 되지만 파일시스템상에서는 보이지 않습니다!!!
그리고 파일을 닫게 되면 가능한 빠른 시간내에 자동으로 지워준다고 합니다.
이것의 목적은 두가지라고 밝히고 있습니다.
첫째는 파일을 닫게 되면 삭제 되므로 symlink attack(취약점 보안공격인가 봅니다)을 예방할수 있다.
또한 파일이름을 동일하게도 얼마든지 생성할수 있다(오호! 재밌는)
두번째는 아예 접근이 불가능한 파일을 만드는 것입니다.
다만 만든이는 무엇으든 기록할수 있고, 다룰수도 있지만 말이죠.
새로운 커널을 올리게 되면 한번 써봐야 겠습니다.