CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): HellCat (Nobody)
날 짜 (Date): 2002년 10월 23일 수요일 오전 02시 44분 12초
제 목(Title): Re: [Q] fopen에서.


fopen() 과 stat() 만 가지고는 열기전에 결정하기는 좀 부족합니다.

그냥 디렉토리 퍼미션만 체그 한다면 프로그램상에서 effective user id 하고
디렉토리 임자 비교하고 그게 다를 경우에는 또 egid 를 비교하고
해서 필요한 퍼미션 비트를 비교 해야 하구요.
그리고 또 마운트 옵션도 비교 해야 하고 디스크 쿼터 옵션 봐야 합니다.
디렉토리 퍼미션이 쓸수 있다고 해서 다 쓸수 있는 것은 아니니까요.

리드온리 마운트도 가능하고 또 뭐 여러가지 링크 내지는 꽁수를 쓴 마운트도
있을수 있고, 디스크 쿼터에 걸릴수도 있고 또 요새는 시꾸리 기능이 많이 
늘어서 해야할 일이 더 많아 질수도 있습니다.

역시 제일 편한것은 포터블 한 코드는
open () 으로 연다음에 레코드 락으로 예상 파일 싸이즈만큼 한번 락을
해보고 닫은 담에 unlink() 하는게 좋겠죠.

이것저것 실패할 경우를 다 따져서 머리굴려서 코드 짜려면 포터블 하지 않은 
코드가 될수도 있고 또 미쳐 생각 못하고 넘어가는 경우도 있을 수 있고
또 젤 중요한 것은 코드 짜고 릴리스 했는데 다음날 패치 인스톨 내지는
오에스 업그레이드 했더니만 새로운 시큐리티 피쳐에 새로운 파일시스템
지원에 마운트 옵션이 들어가서 새로 코딩을 해야 한다는 X 같은 경우가
생길수도.

[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.