이번에는 리눅스에서의 소유권과 허가권에 대해서 포스팅하겠습니다.
허가권(Permission) / 소유권(Ownership)
ll 명령어(ls –l)–l)를 사용하면 아래 예시처럼 퍼미션(권한)을 확인할 수 있습니다.
[root@localhost test]# pwd /test [root@localhost test]# ls -l 합계 12 -rw-r--r--. 1 root root 44 2월 20 16:19 a.txt drwx--x--x. 2 root root 4096 2월 20 15:38 aaa -rw-r--r--. 1 root root 36 2월 20 15:55 file.txt [root@localhost test]# ll 합계 12 -rw-r--r--. 1 root root 44 2월 20 16:19 a.txt drwx--x--x. 2 root root 4096 2월 20 15:38 aaa -rw-r--r--. 1 root root 36 2월 20 15:55 file.txt [root@localhost test]# |
위에서의 –rw-r--r--.가 a.txt의 퍼미션입니다.
-rwxrwxrwx 가 기본 형식이며 디렉터리, 심볼릭 링크 등 파일의 유형에 따라 가장 앞의 글자가 바뀝니다.
[-]로 시작한다면 일반 파일(ex. -rwxrwxrwx)
[d]로 시작한다면 디렉터리(ex. drwxrwxrwx)
[l]로 시작한다면 심볼릭 링크(소프트 링크) 파일(ex. lrwxrwxrwx)
[c]로 시작한다면 파일의 입/출력에 관련한 특수 파일(ex. crwxrwxrwx)
[b]로 시작한다면 블록 구조의 특수 파일(ex. brwxrwxrwx)
따라서 위 예시의 /test 디렉터리 안에는 일반 파일 두 개와 디렉터리 하나가 보이는 것을 알 수 있습니다.
가장 앞의 글자를 제외하고는 rwx가 세 번 반복하는 것을 볼 수 있습니다.
이것이 퍼미션이며, 첫 번째의 rwx는 소유주 권한(UID), 두 번째의 rwx는 그룹 권한(GID), 세 번째의 rwx는 기타 사용자 권한(OTHER)입니다.
퍼미션은 이러한 형식으로 구성됩니다.
UID | GID | OTHER | |
파일 유형(종류) | 소유주 권한 | 그룹 권한 | 기타사용자 권한 |
-, d, l, ... | rwx | rwx | rwx |
rwx에서의 r은 read 즉, 읽기 권한을 나타내며,
rwx에서의 w는 write 즉, 쓰기 권한,
rwx에서의 x는 excute 즉, 실행 권한을 나타냅니다.
또한, 이 rwx는 8진수로 표현하여 숫자로도 나타낼 수 있습니다.
UID | GID | OTHER |
소유주 권한 | 그룹 권한 | 기타 사용자 권한 |
rwx | rwx | rwx |
4+2+1 | 4+2+1 | 4+2+1 |
r(read)은 2^2 => 4로,
w(write)는 2^1 => 2로,
x(excute)는 2^0 => 1로 표현이 가능합니다.
예시로 777의 권한을 가진 디렉터리는 drwxrwxrwx이고, 615의 권한을 가진 일반 파일은 –rw---xr-x입니다.
아래는 각 권한에 따라 가능한 명령어입니다.
r(4) : read – 읽기 권한 [파일내용] : cat , vi 등 / [디렉토리] : ls 등 |
w(2) : write – 쓰기 권한 [파일내용] : vi , 리다이렉션(> , >>) / [디렉토리] : touch, mkdir, rm, cp, mv 등 |
x(1) : excute – 실행 권한 [파일내용] : sh , ./스크립트 파일(실행파일 동작) / [디렉토리] : cd 디렉토리 접근권한 |
ex) file.txt 의 권한이 r-x------ test test
-> test 유저는 vi 명령어로 읽기는 되지만 수정, 저장이 안 됩니다..
ex) file.txt 의 권한이 -wx------ test test
-> test 유저는 file.txt를 vi로 읽기가 안됩니다.
아래는 권한에 따른 예시입니다.
d rwx r-x --x : 751 => A: UID(소유주) , B: GID(그룹) , C: OTHER 라고 가정하겠습니다. A는 모든권한 r : ls 명령어 입력가능 / w : 파일을 복사 , 수정 , 삭제 가능 / x : 디렉토리에 접근 가능 B는 ls , cd 명령어 사용가능 파일 생성 , 복사 , 이동 불가 C는 디렉토리에 접근은 되지만 목록조차 보지 못함. d r-x rw- rwx : 567 => A: UID(소유주) , B: GID(그룹) , C: OTHER A는 읽기(ls) , 접근권한(cd) B는 읽기 쓰기권한은 있으나 접근이 안되서 사용 불가 C는 모든권한 - --x -w- r-- : 124 => A: UID(소유주) , B: GID(그룹) , C: OTHER A는 파일실행만 가능 B는 쓰기권한이 있지만 r(접근권한)이 없어서 사용불가 C는 다른사람은 읽기만 가능(cat 만 가능) - -wx rw- -w- : 365 => A: UID(소유주) , B: GID(그룹) , C: OTHER A는 실행만 가능(w가 의미가 없음) B는 읽기와 내용 수정,삭제 모두 가능 C는 다른사람은 쓰기권한이 있지만 r(접근권한)이 없어서 사용불가 |
'[Linux] 리눅스(CentOS7)' 카테고리의 다른 글
[Linux] 리눅스 Umask (0) | 2022.03.08 |
---|---|
[Linux] 허가권과 소유권_2 (0) | 2022.03.07 |
[Linux] 그룹 명령어 사용법 (0) | 2022.03.05 |
[Linux] 리눅스 사용자 관리 명령어 및 사용법 (2) | 2022.03.02 |
[Linux] 리눅스 사용자 관리 파일 및 디렉터리 (0) | 2022.03.01 |