파일의 속성
file 파일 | 지정한 파일의 종류를 알려줌 |
groups | 사용자가 속한 그룹(파일 소유자의 그룹 이름)을 알려줌 |
리눅스에서 모든 파일은 소유자가 있음.
파일과 디렉터리의 접근 권한
권한 | 파일 | 디렉터리 |
읽기 r | 파일 읽거나 복사 | ls명령으로 디렉터리 목록 보기 가능(ls 명령의 옵션은 실행 권한이 있어야 사용 가능) |
쓰기 w | 파일 수정,이동,삭제 가능(디렉터리에 쓰기 권한 있어야함) | 파일 생성, 삭제 가능 |
실행 x | 파일 실행 가능(셸 스크립트나 실행 파일의 경우) | cd 명령. 파일을 디렉터리로 이동,복사 가능하고 이 디렉터리의 파일을 실행할 수 있다. |
접근 권한 | 소유자 | 그룹 | 기타 사용자 |
rwxr-xr-x | 읽기 쓰기 실행 | 읽기 실행 | 읽기 실행 |
r-xr-xr-x | 읽기 실행 | 읽기 실행 | 읽기 실행 |
rw------ | 읽기 쓰기 | X | X |
rw-rw-rw- | 읽기 쓰기 | 읽기 쓰기 | 읽기 쓰기 |
rwxrwxrwx | 읽기 쓰기 실행 | 읽기 쓰기 실행 | 읽기 쓰기 실행 |
rwx------ | 읽기 쓰기 실행 | X | X |
r------ | 읽기 | X | X |
접근 권한 변경 명령 (chmod): 파일이나 디렉터리의 접근 권한 변경
chmod [사용자 카테고리문자] [연산자 기호] [접근 권한 문자] 파일명
chmod -R : 하위 디렉터리까지 모두 변경
기호 모드 : 문자와 기호를 조합하여 권한을 부여하거나 변경한다.
숫자 모드 : 권한이 있으면 1, 없으면 0 2진수로 변환 -> 10진수로 계산 -> 합산 -> 권한 값
chmod u-w test.txt : test.txt에 대해서 모드를 바꾸는데 이 파일에 대한 소유자(u)에 대해서 쓰기 권한을 제거(-w)함
chmod 644 test.txt : 숫자로 표현 가능. 처음-가운데-끝 순서대로 소유자,그룹,기타등등 읽기쓰기에 대해서 2진수로 표현했을 때.
기본 접근 권한
일반 파일의 경우 소유자는 읽기와 쓰기 권한(rw-)이 설정되고 그룹과 사용자는 읽기만(r--r--) 설정.
디렉터리의 경우 소유자는 읽기,쓰기,실행 권한(rwx)이 설정되고 그룹과 기타 사용자는 읽기,실행 권한만(r-xr-x) 설정.
umask : 기본 접근 권한 출력,변경마스크 값: 파일이나 디렉터리 생성 시 부여하지 않을 권한을 지정해놓는 것.
마스크 값을 설정할 때 제거할 권한, 즉 부여하지 않을 권한이 무엇인지부터 생각을 하자.
cf) 기본 u-mask 값 022 (그룹, 기타 쓰기 금지)
ex) 현재 파일의 기본 접근 권한 : rw-r--r-- 110100100
그룹에는 읽기와 쓰기 권한을 부여하고 기타 사용자에게는 아무 권한이 없도록 마스크 값을 변경한다.
rw-rw---- 110110000 로 변경하기 위해서 필요한 마스크 값을 생각해보자.
마스크 값을 바꾸면 파일이나 디렉터리 생성할 때 적용되는 기본 접근 권한도 변경된다.
- 추가할 것들
chown : change owner(파일의 소유자 변경)
chgrp : change group(파일의 소유 그룹 변경)
newgrp : new group(현재의 shell의 그룹 ID 변경)
특수 접근 권한 : 접근 권한은 원래 4자리, 생략된 맨 앞자리는 특수 접근 권한 의미. 맨 앞자리 숫자가 0이면 일반 접근 권한이지만 이 숫자가 1,2,4면 특수 접근 권한이 설정.
SetUID : 맨 앞자리가 4
소유자의 실행 권한에 's'가 표시된다. 파일을 실행하면 항상 user의 권한을 가진다는 의미이다. passwd 명령 생각하면 ....됨. 일반 사용자가 passwd 바꾸려고 할 때 본인의 권한으로 실행하면 암호 바꿀 수 없음. 그러나 passwd 명령에 SetUID 설정되어 있기 때문에 소유자인 루트 권한으로 실행되어 암호 바꾸기 가능.
한마디로... 루트 계정으로만 수정이 가능한 파일을 SetUID가 설정되어 있는 명령을 실행하면 소유자인 root 권한이 실행이 된다.
SetGID : 맨 앞자리가 2
설정된 파일을 실행하면 해당 파일 실행되는 동안 파일 소유 그룹의 권한으로 실행.
스티키 비트 : 맨 앞자리가 1 (/tmp가 대표적)디렉터리에 설정된다.디렉터리에 스티키 비트가 설정되어 있으면 이 디렉터리에는 누구나 파일 생성 가능 파일은 파일을 생성한 계정으로 소유자가 설정, 다른 사용자가 생성한 파일은 삭제가 불가능. drwxrwxrwt
'Major > Linux(Ubuntu)' 카테고리의 다른 글
Overwrite script (0) | 2022.06.06 |
---|---|
프로세스 (0) | 2022.04.23 |
vi, 셸 (0) | 2022.04.20 |
셸,입출력 리다이렉션,셀 변수,환경변수,프롬프트 + 실습기록 (0) | 2022.04.05 |
Directory & file (0) | 2022.03.13 |