Linux는 많은 자원을 파일과 유사한 인터페이스로 나타내며 각 파일 시스템 객체에는 접근을 제어하는 메타데이터가 있습니다. 이 메타데이터를 읽는 것은 파일과 디렉터리를 안전하게 다루는 기초입니다.
권한 · 레슨 1
파일 권한
Linux 파일 형식과 소유자, 그룹, 기타 사용자 권한 비트를 읽는 방법을 배웁니다.
긴 목록 읽기
ls -l로 긴 목록을 표시합니다.
$ ls -ld Desktop/
drwxr-xr-x 2 pete penguins 4096 Dec 1 11:45 Desktop/
첫 번째 필드 drwxr-xr-x는 파일 형식 문자 하나와 권한 문자 아홉 개를 결합합니다. 목록은 pete가 소유자이고 penguins가 디렉터리와 연결된 그룹임도 나타냅니다.
첫 문자는 객체 형식을 설명합니다. 흔한 값은 다음과 같습니다.
-: 일반 파일d: 디렉터리l: 심볼릭 링크
다른 특수 파일 형식도 있습니다. 나머지 아홉 문자는 접근 권한입니다.
d | rwx | r-x | r-x
drwxr-xr-x에서 첫 번째 d는 무엇을 나타내나요?
r, w, x 이해하기
각 권한 세 글자는 다음 문자를 사용합니다.
r: 읽기 권한 부여w: 쓰기 권한 부여x: 실행 권한 부여-: 해당 권한 없음
일반 파일에서 읽기는 내용 접근, 쓰기는 내용 수정, 실행은 커널이 프로그램으로 실행을 시도하도록 허용합니다. 파일 형식, 인터프리터 줄, 마운트 옵션 또는 다른 보안 제어가 허용하지 않으면 실행은 여전히 실패할 수 있습니다.
디렉터리에서는 디렉터리 항목에 대한 의미를 갖습니다.
- 읽기: 디렉터리의 이름 목록 표시 허용
- 쓰기: 일반적으로 실행 권한과 함께 항목 생성 또는 제거 허용
- 실행: 검색 권한이라고도 하며 디렉터리를 통과하고 이름으로 항목에 접근하도록 허용
파일 삭제는 주로 파일 자체의 쓰기 비트가 아니라 상위 디렉터리 권한의 지배를 받습니다.
디렉터리의 실행 권한은 주로 무엇을 허용하나요?
소유자, 그룹, 기타 사용자 클래스
모드 문자 아홉 개는 고정된 순서의 세 묶음으로 구성됩니다.
- 소유자: 프로세스의 유효 사용자 ID가 파일 소유자와 일치할 때 사용되는 권한
- 그룹: 적용 가능한 프로세스 그룹 ID가 파일 그룹과 일치할 때 사용되는 권한
- 기타 사용자: 앞의 두 클래스가 모두 일치하지 않을 때 사용되는 권한
커널은 적용 가능한 클래스 하나를 선택하며 가장 허용적인 결과를 찾기 위해 세 묶음을 결합하지 않습니다. 접근 제어 목록, 마운트 옵션, 기능, 강제 접근 제어 같은 추가 메커니즘이 최종 결정에 더 영향을 줄 수 있습니다.
예제에서 소유자 묶음은 rwx, 그룹과 기타 사용자는 모두 r-x입니다. 소유자는 디렉터리를 읽고 쓰고 검색할 수 있습니다. 그룹과 기타 사용자는 읽고 검색할 수 있지만 일반 모드 비트를 통해 항목을 만들거나 제거할 수는 없습니다.
파일 형식 문자 뒤에 권한 세 묶음은 어떤 순서로 나타나나요?
drwxr-xr-x에서 그룹 클래스는 어떤 일반 권한을 갖나요?
격리된 환경에서 개념을 강화하려면 Linux 사용자 그룹과 파일 권한 실습을 진행해 보세요. 모드를 읽고 소유권과 권한을 변경하는 방법을 연습합니다.
레슨 완료
파일 권한 완료
이제 Linux 긴 목록의 기본 권한 필드를 해석할 수 있습니다.
파일 형식 문자와 권한 비트 아홉 개를 분리할 수 있습니다.
객체가 파일인지 디렉터리인지에 따라
r,w,x를 해석할 수 있습니다.모드를 소유자, 그룹, 기타 사용자 묶음으로 나눌 수 있습니다.
권한 묶음을
ls -l이 표시한 소유자 및 그룹과 연결할 수 있습니다.