1. 파일 속성
ex) -rw-r--r-- 1 root root 223 11월 8 23:13 /etc/hosts
• -: 파일의 종류 (-: 일반파일일반 파일, d: 디렉터리)
• rw-r--r--: 파일의 접근 권한 표시
• 1: 하드 링크 개수
• root: 파일 소유자 로그인 ID
• root: 파일 소유자의 그룹 이름
• 223: 파일의 크기
• 11월 8 23:13 : 파일이 마지막으로 수정된 시간
• /etc/hosts: 파일명
file: 지정한 파일의 종류를 알려줌
- 형식: file 파일
groups: 사용자가 속한 그룹을 알려줌
- 형식: groups [사용자명]
2. 파일의 접근 권한
- 사용자를 파일 소유자, 파일이 속한 그룹, 그 외 기타 사용자로 구분
2-1. 접근 권한의 종류
- 읽기 권한, 쓰기 권한, 실행 권한이 있음.
2-2. 접근 권한 표기 방법
- 읽기 권한은 r, 쓰기 권한은 w, 실행 권한은 x로 나타나며, 해당 권한이 없는 경우에는 -로 표기
- 사용자 카테고리가 세 개이고 권한도 세 개이므로 총 아홉 개의 문자로 나타내는 것
2-3. 접근 권한 변경 명령
chmod: 파일이나 디렉터리의 접근 권한을 변경
- 형식: chmod [옵션] 권한 모드 파일 또는 디렉터리
- 옵션: -R: 하위 디렉터리까지 모두 변경
3. 기호를 이용한 파일 접근 권한 변경
기호 모드에서 사용하는 문자와 기호
- 사용자 카테고리 문자
• u: 파일 소유자
• g: 소유자가 속한 그룹
• o: 소유자와 그룹 이외의 기타 사용자
• a: 전체 사용자
- 연산자 기호
• +: 권한 부여
• -: 권한 제거
• =: 접근 권한 설정
- 접근 권한 문자
• r: 읽기 권한
• w: 쓰기 권한
• x: 실행 권한
ex) chmod u+w,g-w test.txt (쉼표 외에 공백 문자가 있으면 안 됨))
4. 숫자를 이용한 파일 접근 권한 변경
4-1. 숫자로 환산하기
- 각 권한이 있으면 1, 없으면 0으로 바꾼 후 2진수 세 자리로 간주하여 환산 (0~7)
ex) chmod 755 test.txt (rwxr-xr-x)
5. 기본 접근 권한 설정
- 파일이나 디렉터리를 생성할 때 기본 접근 권한이 자동적으로 설정되는데 일반 파일은 소유자는 읽기, 쓰기 권한이 부여되고 그룹과 기타 사용자에는 읽기 권한이 설정된다. 디렉터리 파일의 경우에는 소유자에게 모든 권한이, 그룹과 기타 사용자에게는 읽기, 실행 권한이 설정된다.
5-1. 기본 접근 권한 확인하고 변경
umask: 기본 접근 권한을 출력하거나 변경
- 형식: umask [옵션] [마스크 값]
- 옵션: -S (마스크 값을 문자로 출력)
마스크 값의 의미
- 파일이나 디렉터리 생성 시 부여하지 않을 권한을 지정해 놓는 것
5-2. 마스크 값 적용 과정
- 일반 파일이 가질 수 있는 최대 접근 권한은 666, 디렉터리는 777
- 최대 접근 권한에서 마스크 값을 뺀다. ex) 최대 접근 권한 666, 마스크 값 002 일 때 현재 파일의 기본 접근 권한은 664로 rw-rw-r-- 이다.
6. 특수 접근 권한
- 특별한 접근 권한을 제공하는데 맨 앞자리의 숫자가 0이면 일반적인 접근 권한이지만 1,2,4는 특수 접근 권한이 설정됨
- SetUid: 맨 앞자리가 4
- SetGID: 맨 앞자리가 2
- 스티키 비트: 맨 앞자리가 1
- 입력 방법은 최대 권한 앞에 붙여씀ex) chmod 4777 test.exe
6-1. SetUID
- 해당 파일이 실행되는 동안에는 파일 사용자가 아닌 파일 소유자의 권한이 적용 ex) password
- 설정되면 소유자의 실행 권한에 ‘s’가 표시
6-2. SetGID
- 해당 파일이 실행되는 동안에는 파일 소유 그룹의 권한이 적용
- 설정되면 그룹의 실행 권한에 's'가 표시
6-3. 스티키 비트
- 디렉터리에 설정하며 설정 시 누구나 파일을 생성할 수 있음. 파일은 파일을 생성한 계정으로 소유자가 설정되고, 다른 사용자가 생성한 파일은 삭제할 수 없음. ex) /tmp 디렉터리
- 설정되면 기타 사용자의 실행 권한에 ‘t’가 표시
특수 권한을 설정하는 파일이나 디렉터리 모두 실행 권한을 가지고 있어야 한다. 만약 실행 권한이 없을 시 's'가 아닌 'S', 't'가 아닌 'T‘가 표시된다.
chown: 파일이나 디렉터리의 소유자를 변경.
형식: chown [옵션] [소유자] [파일 or 디렉토리 경로]
chgrp: 파일이나 디렉터리의 소유 그룹을 변경.
형식: chgrp [옵션] [그룹] [파일 or 디렉토리 경로]
newgrp: 현재 shell의 그룹 ID 변경.
'대학교 2학년 1학기 > 리눅스 프로그래밍' 카테고리의 다른 글
파일 시스템과 디스크 관리하기 (0) | 2022.05.01 |
---|---|
프로세스 관리하기 (0) | 2022.05.01 |
셸 사용하기 (0) | 2022.04.04 |
문서 편집하기 (0) | 2022.04.04 |
디렉터리와 파일 사용 (0) | 2022.04.04 |