■ 파일 속성
리눅스는 다중 사용자 시스템 → 접근 권한 제어를 통해 파일을 관리한다.
' ls -l ' 명령어로 확인 가능한 파일의 속성
ex. drwxrwxr-x. 7 hejow hejow 61 5월 2 11:49 linux_ex
※ 참고할 명령어
file [파일] : 지정한 파일의 종류 확인
groups [user명] : 소속 그룹 확인 (user명 지정 시 대상의 그룹, 미지정 시 본인의 그룹)
■ 파일 접근 권한
리눅스는 사용자를 세 카테고리로 구분하여 접근 권한을 적용한다.
1. 파일 소유자
2. 파일이 속한 그룹
3. 그 외 기타 사용자
- 접근 권한 종류
- 접근 권한 표기 방법
각 권한은 읽기(r), 쓰기(w), 실행(x)으로 표현하고, 각 사용자 카테고리별로 순서대로 권한을 표시한다.
ex. -rwxrwxr-x (사용자 : rwx / 그룹 : rwx / 기타 : r-x)
- 접근 권한 변경 명령
접근 권한은 파일 소유자와 시스템 관리자만 변경 가능.
chmod 명령으로 접근 권한을 변경할 때 2가지 방법이 존재. (기호 모드, 숫자 모드)
chmod [옵션] [파일(디렉터리)] : 파일(디렉터리)의 접근 권한을 변경
-R : 하위 디렉터리까지 모두 변경
■ 기호를 이용한 파일 접근 권한 변경
chmod [사용자 카테고리][연산기호][접근권한] [파일] : 기호 모드 형식
ex. chmod u+x, go+w test.txt
카테고리 : u (소유자), g (그룹), o (기타), a (전체)
기호 : + (부여), - (제거), = (설정)
권한 : r (읽기), w(쓰기), x(실행)
■ 숫자를 이용한 파일 접근 권한 변경
chmod [숫자][숫자][숫자] [파일] : 숫자 모드 형식 (0~7)
ex. chmod 754 test.txt
- 숫자로 환산하는 방법
① 2진수로 대체 ( * : 1, - : 0 )
② 10진수로 계산해서 합산
③ 합산 값 = 권한 값
권한 값은 7~0까지 존재하지만, 1~3은 잘 사용하지 않는다.
- 숫자 모드를 이용한 접근 권한 변경
항상 세 자리 수를 사용 → 변경하려는 카테고리의 권한뿐만 아니라 다른 카테고리의 권한도 명시해야 한다.
ex. 현재 권한 644(rw-r--r--)에서 u-w을 하면 chmod 444 [파일]
■ 기본 접근 권한 설정
파일(디렉터리)를 생성하면 기본 접근 권한이 자동적으로 설정된다.
파일 → -rw-rw-r-- (소유자, 그룹 : 읽기, 쓰기 / 기타 : 읽기)
디렉터리 → drwxrwxr-x (소유자, 그룹 : 읽기, 쓰기, 실행 / 기타 : 읽기, 실행)
※ 참고! 최대권한은 파일 - 666, 디렉터리 - 777 이다.
- 기본 접근 권한 확인 및 변경
umask [옵션] [마스크 값] : 기본 접근 권한 출력하거나 변경. 출력 시 기존에는 0002
-S : 마스크 값을 문자로 출력
마스크 값이란? 파일(디렉터리) 생성 시 부여하지 않을 권한을 지정해놓은 것
마스크 값이 0002라면, '------w-' 즉 기타 사용자에게 쓰기 권한을 주지 않겠다는 뜻.
- 마스크 값의 적용 과정
2진수로 변환 후 진리표 대로 값을 계산한다. 마스크 값이 1이면 반전, 0이면 그대로
ex. rw- rw- rw- (파일 최대 권한)
ex. 110 110 110 (2진수로 변환)
ex. 000 000 010 (마스크 값)
ex. 110 110 100 (마스킹 결과)
ex. rw- rw- r-- (기호로 변환)
■ 특수 접근 권한 설정
마스크 값 맨 앞의 값에 따라 특수 접근 권한이 설정된다. 0은 일반적인 접근 권한 그 외에 3가지 권한이 존재.
1. SetUID : 맨 앞자리가 4
2. SetGID : 맨 앞자리가 2
3. 스티키 비트 : 맨 앞자리가 1
- SetUID
SetUID가 설정된 파일을 실행하면 실행 중에는 소유자의 권한을 적용.
'chmod 4*** [파일]' 명령 실행 시 파일 속성 중 소유자의 접근 권한에 s가 표시된다.
- SetUID
SetUID가 설정된 파일을 실행하면 실행 중에는 그룹의 권한을 적용.
'chmod 2*** [파일]' 명령 실행 시 파일속성 중 그룹의 접근 권한에 s가 표시된다.
- 스티키 비트
디렉터리에 설정. 설정 시 해당 디렉터리에는 누구나 파일을 생성 가능.
'chmod 1*** [파일]' 명령 실행 시 파일속성 중 기타 사용자의 접근 권한에 s가 표시된다.
'개인 공부 > Linux (CentOS 리눅스)' 카테고리의 다른 글
CentOS 리눅스 : 프로세스 관리 (6장) (2) | 2022.05.04 |
---|---|
CentOS 리눅스 : 연습문제 해답 (5장) (2) | 2022.05.04 |
CentOS 리눅스 : 연습문제 해답 (4장) (2) | 2022.05.03 |
CentOS 리눅스 : 셸 사용법 (4장) (0) | 2022.05.03 |
CentOS 리눅스 : 연습문제 해답 (3장) (0) | 2022.05.02 |
댓글