나는 unix/linux의 파일 및 디렉토리 권한을 이해하려고 노력하고 있습니다.
내 생각엔 대략적인 생각이 있는 것 같아, 내가 원한다면
cat ~/foo/bar/text.txt
x+r
, 의 허가가 필요합니다 .~
~/foo
~/foo/bar
r
~/foo/bar/text.txt
x
하지만 권한이 없다고 가정 ~/foo/bar
하고 현재 디렉토리가 ~/foo/bar
(어쩌면 root
사용자가 su user
거기에 만들었을 수도 있음) 거기에 입력한다고 가정합니다.
cat text.txt
rwx
테스트해 보니 권한이 있는데 권한이 없다고 나옵니다 text.txt
.
그래서 내 질문은: 내가 입력할 때
cat text.txt
시스템이 실제로 cat ./text.txt
현재 디렉터리 권한을 해석하고 확인합니까? (경로에 언급하지 않은 디렉토리는 권한 검사를 하지 않을 거라 생각했는데, 현재 디렉토리도 검사를 하지 않을까요?)
따라서 이 경우(현재 디렉터리가 어디에 있는지 ~/foo/bar
, 무엇을 하려는지 cat text.txt
) 권한은 ~/foo
중요하지 않습니다. 하지만 ~/foo/bar
그렇습니까?
답변1
파일 열기 작업에서는 현재 디렉터리(파일)에 저장된 해당 디렉터리 항목의 속성과 물리적 위치를 읽어야 합니다.
이것이 라이센스 문제가 있는 이유입니다.
그렇지 않으면 가정이 정확합니다. 시스템은 지정된 경로에만 액세스합니다. 로컬 디렉터리에 대한 액세스 sudo
권한만 부여하면 x
예제에서 파일에 액세스할 수 있게 됩니다.
r
이 권한은 디렉토리 항목을 검색하는 데는 필요하지 않지만 해당 내용을 나열하는 데는 필요합니다.