일단 터미널에 vi helloworld.txt 를 입력하고 helloworld!! 만 입력하고 저장하고 나오자
그다음 ls - al | grep hellow 를 입력한다면 다음과 같은 출력이 나올거다.
터미널에서 출력된 결과중에서 , 가장 왼쪽의 표현부터 살펴보겠다. 파일 hellowrld.txt는 -rw-rw-r-- 이라고 출력이되어있다.
r, w, x는 각각 read permission, write permission, execute permission으로 읽기 권한, 쓰기 권한, 실행 권한을 나타낸다.
3번에 걸쳐서 나타나는 이유는 사용자와 그룹, 나머지 사용자에 대한 권한 표시하기 위함이다. helloworld.txt 파일의 권한은
소유자와 그룹은 읽기와 쓰기 권한, 다른 사용자는 읽기 권한만 가능하다는 의미이다.
chmod(권한 변경 커멘드)
명령어 chmod 폴더나 파일의 읽기, 쓰기, 실행 권한을 변경할 수 있다. OS에 로그인한 사용자와, 폴더나 파일의 소유자가 같을 경우에 명령어 chmod 로 폴더나 파일의 권한을 변경할 수 있다. 만약 OS에 로그인한 사용자와, 폴더나 파일의 소유자가 다를 경우에는 관리자 권한을 획득하는 명령어 sudo 를 이용해 폴더나 파일의 권한을 변경할 수 있다.
명령어 chmod 로 권한을 변경하는 방식은 두 가지가 있다.
- 첫 번째는 더하기(+), 빼기(-), 할당(=)과 액세서 유형을 표기해서 변경하는 Symbolic method이다.
- 두 번째는 rwx를 3 bit로 해석하여, 숫자 3자리로 권한을 표기해서 변경하는 Absolute form이다.
Symbolic method는 액세스 클래스, 연산자, 액세스 타입으로 구분한다.
Access class | Operator | Access Type |
u (user) | + (add access) | r (read) |
g (group) | - (remove access) | w (write) |
o (other) | = (set exact access) | x (execute) |
a (all: u, g , o) |
위에서 만든 helloworld.txt 파일의 권한을 바꿔보자 일단 모든 사용자 권한을 rwx로 바꿔보자
chmod a=rwx helloworld.txt를 했더니 모든 사용자가 모든 권한을 갖게되었다 이번에는 모든사용자의 권한을 없에보자
a= 빈칸을 두면 a-rwx와 같은 명령어가된다는걸 알수 있다
Absolute form은 숫자 7까지 나타내는 3 bits의 합으로 표기한다.
사용자, 그룹, 또는 다른 사용자나 그룹마다 rwx 가 나타나고, 각 영역의 boolean 값으로 표기할 수 있다.
Permission | Number |
Read (r) | 4 |
Write (w) | 2 |
Execute (x) | 1 |
만약, user는 rwx 를, group과 other은 r-- 로 권한을 변경하려고 한다면, 위 표에 나와있는 숫자의 합을 user, group, other 순으로 입력하여 사용한다.
744는 u=rwx (4 + 2 + 1 = 7) g=r (4 + 0 + 0 = 4) o=r (4 + 0 + 0 = 4)이기때문에 744라는 명령어가된다
'DevOps > Linux' 카테고리의 다른 글
[Linux] 리눅스 네트워크 네임스페이스 (1) | 2023.02.06 |
---|---|
[Linux] 리눅스 표준 스트림과 파이프라인, 리다이렉션 (1) | 2022.12.30 |
[Linux] 프록시 서버의개념, NGINX 리버스 프록시와 캐싱 (0) | 2022.12.29 |
[Linux] NGINX 개념과 각 환경에서 설치방법 (0) | 2022.12.15 |
[Linux] 리눅스 디렉토리 구조 개념 (0) | 2022.11.30 |