TIL # 2022.02.28

kdobro_dev·2022년 2월 28일
0

TIL (Today I Learned)

목록 보기
36/56
post-thumbnail

📝오늘 배운 내용

[Linux] 심화

  • 사용 권한
  • 환경변수

Achivement Goals

  • 사용 권한과 소유자에 대해 이해하고, 사용 권한을 변경할 수 있다.
  • 파일의 소유자와 파일에 적용된 사용 권한을 확인하고 이해할 수 있다. (ls -l)
  • 파일에 적용된 사용 권한을 변경할 수 있다. (chmod)

폴더와 파일이 권한으로 폴더인지 파일인지 구분하는 방법에 대해 알아보자.

먼저 practice라는 이름을 가진 폴더와 hello.js라는 파일을 생성하였다.
생성한 후에 ls -l이라는 명령어를 terminal에 입력을 하면 아래와 같은 화면을 볼 수 있을 것이다.

출력된 terminal창의 가장 왼쪽에 글자를 보면, hello.js는 -rw-r--r--로 출력이 되어 있고, practice라는 폴더는 drwxr-xr-x라고 출력 된 것을 볼 수 있다.
출력된 글자의 가장 앞 글자를 보면 -와 d를 확인 할 수 있는데 -는 not directory, d는 directory를 뜻한다. 즉 폴더이면 앞에 d가 붙고 파일이면 -가 붙는다고 보면 된다. 그 뒤에 이어지는 r, w, x는 각각 read permission, write permission, execute permission으로 읽기 권한, 쓰기 권한, 실행 권한을 나타낸다. 이것이 3번에 걸쳐 나타내는 이유는 사용자와 그룹, 나머지에 대한 권한을 표시하기 때문이다. hello.js의 권한을 살펴보면 rw-r--r--으로, 소유자 즉 user는 읽기와 쓰기가 가능하고, 다른 사용자 그룹은 읽기만 가능하다는 의미이다. 폴더 practice의 권한을 보면 rwx-r-x-r-x으로, 소유자는 읽기와 쓰기, 실행이 가능하고 다른 사용자 그룹은 읽기와 실행만 가능하다는 의미이다.

chmod : 권한을 변경하는 명령어

chmod라는 명령어를 사용하면 폴더나 파일의 읽기, 쓰기 그리고 실행 권한을 변경 할 수 있다. chmod를 사용하려면 OS에 로그인한 사용자와 폴더나 파일의 소유자가 동일할 경우에만 변경이 가능하다. 만약 OS에 로그인한 사용자와 폴더 그리고 파일의 소유자가 다를 경우에는 관리자 권한을 획득하는 명령어인 sudo를 이용해서 폴더나 파일의 권한을 변경할 수 있다.

명령어 chmod로 권한을 변경하는 방법은 두 가지가 있다.

  • 첫 번째는 더하기, 빼기, 할당과 액세서 유형을 표기해서 변경하는 symbolic method이다.
  • 두 번째는 rwx를 3bit로 해석하여, 숫자 3자리로 권한을 표기해서 변경하는 Absolute form이다.

Symbolic method

Symbolic method는 액세스 클래스, 연산자, 액세스 타입으로 구분한다.

Access classOperatorAccess Type
u (user)+ (add access)r (read)
g (group)- (remove access)w (write)
o (other)= (set exact access)x (execute)
a (all: u, g, and 0)

예시로 practice라는 파일의 소유자 권한에 실행 권한을 추가해주는 명령어는 아래와 같다.

chmod u+x practice 

또한, practice라는 파일에 모든 권한에 읽기, 쓰기 권한을 추가하고 싶다면 아래와 같이 명령어를 사용할 수 있다.

chmod a=rw practice

Absolute form

  • Absolute form은 숫자 7까지 나타내는 3bits의 합으로 표기한다.
PermissionNumber
Read (r)4
Write (w)2
Execute (x)1

예를 들어, user는 rwx로, group과 other는 r--로 권한을 변경하려고 한다면, 위 표에 나와있는 숫자의 합을 user, group, other 순으로 입력해서 사용한다.

chmod 744 practice.js // -rwxr--r--
profile
do your best at any moment

0개의 댓글