유닉스 "권한 모델"은 개념적으로 깨졌습니까?

유닉스 "권한 모델"은 개념적으로 깨졌습니까?

교사가 과정이 시작되기 전에 학생들을 위해 전체 과정을 다루는 일련의 깜짝 테스트를 준비한다고 가정해 보겠습니다.

tests
├── subject1
│   └── exam.txt
├── subject2
│   └── exam.txt
├── subject3
│   └── exam.txt
└── subject4
    └── exam.txt

그가 tests이 디렉토리를 각 학생의 컴퓨터 사용자 홈 디렉토리에 배치한다고 가정합니다.

그런 다음 그는 다음 권한을 재귀적으로 설정합니다.

owner: teacher
group: teachers
mode: 550

tests다른 선생님들만 볼 수 있도록 디렉토리에 올려두세요과목을 읽을 수 있다또한 시험 텍스트에 대한 액세스도 제공합니다.

첫 학기 말에 그는 학생들이 첫 번째 재판을 받을 준비가 되었다고 생각하여 출발 전날 밤

owner: teacher
group: teachers
mode: 771

디렉토리 tests

owner: student
group: teachers
mode: 770

subject1학생들이 다음 날 시험에 접근할 수 있도록 하위 디렉터리에 배치합니다.그가 그들에게 길을 말한 후에야.

다음날 아침, 그는 학생들이 시험지를 읽었을 뿐만 아니라,모든 과목, 존재하지 않는 디렉토리에 액세스하려고 할 때와 기존 디렉토리에 액세스하려고 할 때를 시스템이 알려준다는 사실을 이용하기 때문입니다.마지막으로읽기 권한이 없으므로 사전에 무차별 공격을 가 tests 합니다 ls.

분명히 교사는 학생들이 시험 전에 텍스트를 읽으려고 시도하지 않을 것이라고 순진하게 믿었습니다. 그럼에도 불구하고 내 질문은 다음과 같습니다.

주지 않는 게 무슨 소용이 있겠는가?읽다디렉터리에 대한 권한이 있는 사용자가 여전히 디렉터리에 있는 모든 개체의 이름을 무차별 공격할 수 있습니까?

사용자가 액세스해서는 안 되는 항목에 액세스하려고 할 때 시스템이 일반 오류를 반환하지 않는 이유는 무엇입니까?

답변1

아니요, Unix/Linux "권한 모델"은 "깨진" 것이 아닙니다. 이것이 귀하의 시나리오입니다.
Unix/Linux는 강력한 도구 세트이지만 그렇다고 해서 스스로에게 총을 쏘는 것을 막을 수는 없습니다.

관련 정보