디렉토리 쓰기 권한

디렉토리 쓰기 권한

내가 ~에 디렉토리(temp라고 함)를 만들었고 그 안에 파일이 거의 없다고 가정해 보겠습니다. 이제 내 umask는 0002이지만 연습을 위해 ~/temp/에 대한 권한을 변경했습니다.

chmod 222 temp

내가 아는 한, 디렉토리에 대한 쓰기 권한이 있다는 것은 디렉토리를 열거나 내용을 읽을 수 없다는 것을 의미하지만 내부에 파일을 추가(또는 파일 제거)할 수는 있어야 합니다. 예를 들어, 나는 이것이 잘 작동할 것이라고 생각했습니다.

touch temp/new_file.txt

그러나 이 작업을 수행하려고 하면 오류가 발생합니다.

touch: cannot touch 'temp/new_file.txt': Permission denied

왜 이것이 예상한 대로 작동하지 않는지 알 수 없었습니다. 그래서 쓰기 권한만 있을 때 디렉토리로 무엇을 할 수 있는지, 그리고 왜 제가 시도한 방식으로 새 파일을 만드는 것이 작동하지 않는지 궁금합니다.

(위 명령은 모두 ~에서 실행되었습니다.)

도움을 주시면 감사하겠습니다!

답변1

권한은 디렉토리에 대해 다르게 작동합니다.

완벽한 설명은 아니지만,

man chmodchmod ( ) 의 매뉴얼 페이지에 따르면 :

rwxXst 문자는 영향을 받는 사용자에 대한 파일 모드 비트를 선택합니다(읽기(r), 쓰기(w),실행(또는 디렉토리 검색)(x), 파일이 디렉토리이거나 이미 일부 사용자(X)에 대한 실행 권한이 있는 경우에만 실행/검색합니다. 실행 시 사용자 또는 그룹 ID, 제한된 삭제 플래그 또는 고정 비트(t)를 설정합니다. 이러한 문자 중 하나 이상 대신 ugo 문자 중 정확히 하나만 지정할 수 있습니다. 파일을 소유한 사용자에게 부여된 권한(u), 파일 그룹의 구성원인 다른 사용자에게 부여된 권한(g), 앞의 두 범주 중 어느 쪽에도 속하지 않는 사용자에게 부여된 권한(o).

이는 먼저 필요한 디렉토리 내의 파일에 쓰는 것을 의미합니다.디렉터리로 변경(실행 권한)파일을 생성하고 (쓰기 권한)

관련 정보