[질문] 하드링크가 위험한 이유는?
글쓴이: hidRomeo / 작성시간: 토, 2004/03/27 - 3:53오후
리눅스(유닉스 파일시스템) 발표자료 준비중에...
"디렉토리에 대한 하드링크는 위험하므로 root 이외에는 호출이 금지되어있다"
라는 내용에 대해서 설명을 붙이려고 합니다.
리눅스 시스템상에서 실험을 해봤지만,
Permission now allowd 라는 메시지만 뿌려주네요.
리눅스에서는 기본적으로, 디렉토리에 대한 하드링크는 지원하지 않는 듯...
심볼릭링크가 있기에 써먹을 일은 없겠지만,
디렉토리 하드링크의 위험성에 대해서 알고 싶습니다.
도움 주시면 감사하겠습니다.
Forums:
위험한 이유가 무엇인지 저도 정확히 어디서 본적은 없습니다만
위험한 이유가 무엇인지
저도 정확히 어디서 본적은 없습니다만
글을 읽고 생각해 보았습니다.
많은 이유가 있겠지만 생각해본 대략적인 위험요소는 이렇습니다
유닉스의 파일시스템에서는 존재하는 파일들의
inode 를 inode 리스트에 저장하고 있죠
그런데 inode 의 link 계수가 0 이 되면 실질적인 inode 를 지워주게
됩니다.
이러면 파일이 삭제되는거죠
그런데 하드 링크는 inode 만 여러 이름으로 link 해서 사용하게 됩니다
이러한 이유로 디렉토리를 하드링크하였다면
만약 어떤 디렉토리 구조에서 같은 inode 를 링크한 디렉토리가
두개가 있다고 한다면
그 디렉토리 구조의 삭제등에서 문제가 생길 소지가 충분히 있는것 같습니다.
또한 하드 링크된 디렉토리들의 하위 디렉토리간의 계속적으로 하드 링크가 난잡하게 된다면
디렉토리 구조가 엉망진창이 될것두 갖구요(전혀 계층적이지 않은 디렉토리구조가 될듯)
저도 더 자세히 알고 싶은데 더 잘 아시는 분이 정확한 답변을 올려주시면
감사하겠네요
- advanced -
리눅스 커널의 이해에서 본 건데요....[quote]Users
리눅스 커널의 이해에서 본 건데요....
이렇다는데요... ( 어설프게 해석하는 거보다 원문을 올리는게 나을것 같아서 ;;;; )
좋은 답변 정확한 통찰인 것 같아요... 거울 두개를
좋은 답변 정확한 통찰인 것 같아요...
거울 두개를 마주보게 하면 끝없이 반복하게 된다는 얘기같네요...
이런걸 뭐라 부르죠? 무한루프는 아닌데 ... 리커시브콜의 위험성!과 같은 얘기인거죠? 아마도..
Thanks for being one of those who care for people and mankind.
I'd like to be one of those as well.
그건 symbolic link라도 생기는
그건 symbolic link라도 생기는 문제인데
거기에는 아무 제약이 없네요.
설명이 좀 적절하지 않은듯.
symbolic link의 경우는 원본과 링크를
symbolic link의 경우는 원본과 링크를 구분하기 때문에,
디렉토리 구조를 파고 들어가다가 열몇개 이상의 symlink를 거치게 되면
"something wrong" 판단하고 멈추게 됩니다.
hard link는 원본의 개념 자체가 사라지기 때문에 이런 접근법이 불가능하죠.
하드링크의 또다른 제약이 있다면 하드링크는 타 파티션에 존재하는 파일에
하드링크의 또다른 제약이 있다면 하드링크는 타 파티션에 존재하는 파일에
대해서는 못걸죠.
Written By the Black Knight of Destruction
댓글 달기