리눅스는 기본적으로 여려 명이 함께 사용하는 다중 사용자 시스템이므로 각 사용자의 파일과 정보를 보호하기 위해서 접근 권한을 제어하는 것이 필수다.
01 파일 속성
- 파일의 종류
- -는 일반파일을, d는 디렉터리를 의미한다.
- file [파일명] 명령을 통해 파일의 종류를 확인할 수 있다.
- 파일의 접근 권한 표시
- 파일 소유자와 그룹이나 기타 사용자들이 파일에 대해 가지고 있는 접근 권한을 표시한다.
- 접근 권한은 파일 소유자가 chmod 명령을 사용하여 마음대로 바꿀 수 있다.
- 하드 링크의 개수
- 하드 링크는 한 파일에 대해 여러 개의 파일명을 가질 수 있도록 하는 기능이다.
- 파일 소유자의 로그인 ID
- 리눅스에서 모든 파일은 소유자가 있다.
- 시스템과 관련된 파일들은 대부분 루트 계정이 소유자이고, 일반 파일은 파일 생성자가 소유자이다.
- 파일이 속한 그룹 이름
- 리눅스에서 사용자는 기본적으로 하나 이상의 그룹에 속해 있다.
- 그룹에 속한 사용자들에게 권한을 부여하여 파일을 공유할 수 있다.
- 사용자가 속한 기본 그룹은 시스템 관리자가 사용자를 등록할 때 결정한다.
- 사용자는 임의로 자신의 그룹을 바꿀 수 없으며 반드시 시스템 관리자에게 변경을 요청해야 한다.
- 그룹이 정의된 파일은 /etc/group으로 시스템 관리자만 수정할 수 있다.
- groups [사용자명] 명령으로 사용자가 속한 그룹을 확인할 수 있다.
- 파일의 크기
- 파일이 마지막으로 수정된 날짜
02 파일 접근 권한
리눅스는 사용자를 파일 소유자, 파일이 속한 그룹, 그 외 기타 사용자라는 세가지 카테고리로 구분하여 접근 권한을 적용한다.
카테고리별로 파일에 접근하는 권한을 소유자나 시스테 관리자가 조정할 수 있다.
접근 권한 종류
- 읽기 권한 : 파일을 변경할 수는 없지만 내용을 볼 수 있는 권한
- 쓰기 권한 : 파일의 내용을 보는 것뿐 아니라 수정하거나 삭제도 가능한 권한
- 실행 권한
- 대상이 파일인지 디렉터리인지에 따라 그 의미가 약간 다르게 해석된다.
| 권한 |
파일 |
디렉터리 |
| 읽기 |
파일을 읽거나 복사할 수 있다. |
ls 명령으로 디렉터리 목록을 볼 수 있다. (ls 명령의 옵션은 실행 권한이 있어야 사용할 수 있다.) |
| 쓰기 |
파일을 수정, 이동, 삭제 할 수 있다. (디렉터리에 쓰기 권한이 있어야 한다.) |
파일을 생성하거나 삭제할 수 있다. |
| 실행 |
파일을 실행할 수 있다. (셸 스크립트나 실행 파일의 경우) |
cd 명령을 사용할 수 있다. 파일을 디렉터리로 이동하거나 복사할 수 있다. |
접근 권한 표기 방법