리눅스의 가장 기본적인 보안기능 중 하나는 사용자의 파일을 보호하는것으로,
이 때문에 파일을 생성하는 소유자가 권한을 기본적으로 갖는다.
📌 chmod (Change Mode)
파일/디렉토리에 대한 접근권한을 재지정 한다.
파일권한은 세가지로 나눌수 있다.
- read : 읽기, 복사
- write : 수정, 이동, 삭제
- excute : 쉘스크립트 실행 권한
파일권한을 재지정하는 모드는 크게 두가지가 있는데
그 중 기호모드는 user,group,other,all의 역할만 구분하면 된다.
mode | 표기 | 예시 |
기호(연산자)모드 | u(user), g(group), o(other), a(all) +(추가,부여), -(제거), =(지정,설정) |
u+w : user에게 write를 부여 u-x : user에게 excute 제거 o-r : other에게 read 제거 u=rwx : user에게 읽기,쓰기,실행 권한을 지정 |
숫자모드 | 8진수로 표기 | 755, 777 |
📌 chmod 기호모드 예시
예) p.txt파일을 기호모드로 사용자(user)에게 실행권한 부여하기
chmod u+x 파일명
이제 p.txt 파일의 접근 권한은 아래와 같다.
rwxrw-r--
rwx : 소유자(생성자)는 읽기 및 복사, 쓰기 및 삭제, 실행 등의 모든 권한이 있고
rw- : 그룹은 읽기 및 복사, 쓰기 및 삭제는 되지만 쉘스크립트 실행은 못한다.
r-- : 그 외(other) 는 읽기 및 복사만 가능하다.
📌 chmod 숫자모드(8진수)?
p.txt 파일을 2,10,8진수로 표기하면 다음의 표로 정리 할 수 있다.
user | group | other | |||||||
rwx | r | w | - | r | - | - | r | - | - |
2진수 표기 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
10진수 표기 | 4 | 2 | 0 | 4 | 0 | 0 | 4 | 0 | 0 |
8진수 표기 | 6 | 4 | 4 |
✅ 2진수 [0 ~ 1]
user는 read,write 권한이 있으니 2진수표기에 따라
1씩 값을 주고 excute 권한은 없으니 0인 값을 준다.
(group,other도 마찬가지)
✅ 10진수 [0 ~ 9]
아래 표에 따라 4,2,1 의 값을 준다.
<2의 거듭제곱 표기>
제곱꼴 | 값(10진수) |
2⁰ | 1 |
2¹ | 2 |
2² | 4 |
✅ 8진수 [0 ~ 7]
10진수 표기의 합을 더한다.
📌 chmod 숫자모드(8진수) 예시
p.txt 파일을 소유자를 제외한 나머지 그룹은 수정 할 수 없도록 하고 싶을때
chmod 755 파일명
위에서 표로 정리한대로 간단히 요약하면 이렇다.
rwxr-xr-x
rwx : 소유자(생성자)는 4+2+1=7
r-x : 그룹은 4+0+1=5
r-x : 그 외(other)는 4+0+1=5
'Programming > Linux' 카테고리의 다른 글
[Ubuntu] yarn 설치 및 버전 확인 (0) | 2023.05.30 |
---|---|
[Linux] grep 설명/사용방법/간단예 (0) | 2023.01.27 |
[Linux] umask 기본접근권한 설정 및 진리표 (0) | 2022.10.23 |
[Linux] 하드링크, 심볼릭링크의 차이와 inode의 관계 (1) | 2022.09.21 |
[Unix/Linux] bash 중복 제거하기 (sort, awk) (1) | 2022.08.29 |