개념정리 - Linux / 사용권한

Seungmin Shin·2021년 7월 19일
1

코딩 개념정리

목록 보기
23/33

리눅스 사용권한

리눅스의 사용권한을 공부하기 위해서 일단 터미널을 실행시켜 보겠습니다,
그리고 터미널의 아무 디렉토리 안에서 폴더와 파일 두가지를 생성하겠습니다.

mkdir linux
nano helloworld.js

자, 이렇게 하면 해당 디렉토리 안에 linux 라는 폴더와 helloworld.js 라는 파일이 생성되었습니다.
그리고 나서 해당 디렉토리 안에서 ls -l 을 적고 엔터를 눌러봅시다.

이런 목록이 뜨죠? 이제 여기서 맨 왼쪽에 나와있는 표현을 살펴보겠습니다.

파일상태인 helloworld.js 는 -rw-r--r-- 로 표현되어 있고
폴더상태인 linux 는 drwxr-xr-x 로 표현되어 있습니다.

일단 이 표현은 총 네개의 단락으로 나뉘어져 있습니다.

첫번째는 해당자료가 폴더인지 아닌지를 구별하는 역할을 하고,
두번째부터 네번째는 각각 사용자, 그룹, 다른사용자가 이용가능한 권한을 나타냅니다. 순서대로 보겠습니다.

1. d / -

  • 맨 앞자리를 살펴봅시다, 각각의 표현들의 첫 시작인 - 와 d 는 순서대로 'not directory'
    'directory' 를 나타냅니다, 폴더면 d로, 파일이면 - 로 나타내는것이지요. 아시겠나요?

2. owner

  • 그 다음 이어지는 owner (오너) 는 사용자를 나타냅니다, '나' 이지요.
    기본적인 정의는 저 폴더와 파일을 만든사람을 지칭합니다. user 라고도 합니다.

3. group

  • 이 group 안에는 여러 user가 포함될 수 있습니다, 많은 사람이 파일에 엑세스 해야하는
    프로젝트가 있을경우에 각 user에게 일일이 권한을 할당하는 대신에 모든 user를 group에 추가하고
    파일에 group 권한을 할당할 수 있습니다.

4. other

  • 다른 user입니다. 파일을 직접 만들지 않은 다른 모든 user를 의미합니다. 따라서 other 권한을 설정하면
    나를 포함한 모든 사용자에게 권한을 부여하는것이기 때문에 global 권한설정이라고 볼 수 도 있겠네요.

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

명령어 chmod 로 폴더나 파일의 읽기, 쓰기, 실행권한을 변경할 수 있습니다.
폴더나 파일의 소유자가 같을경우에 chmod 로 폴더나 파일의 권한을 변경할 수 있습니다.

만약 OS에 로그인한 사용자와, 폴더나 파일의 소유자가 다를경우에는 관리자 권한을 획득하는 명령어인
sudo 를 이용해 폴더나 파일의 권한을 변경할 수 있습니다.

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

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

Symbolic method엑세스클래스, 연산자, 엑세스타입 으로 구분합니다.

  1. 명령어 chmod 뒤에 변경할 권한을 입력
  2. 그 다음 엑세스 클래스의 u, g, o, a 를 변경할 조건에 따라 조합하여 입력
  3. 연산자와 엑세스타입을 순서대로 입력
/* 예시 */
chmod g-r filename # removes read permission from group
chmod g+r filename # adds read permission to group
chmod g-w filename # removes write permission from group
chmod g+w filename # adds write permission to group
chmod g-x filename # removes execute permission from group
chmod g+x filename # adds execute permission to group
chmod o-r filename # removes read permission from other
chmod o+r filename # adds read permission to other
chmod o-w filename # removes write permission from other
chmod o+w filename # adds write permission to other
chmod o-x filename # removes execute permission from other
chmod o+x filename # adds execute permission to other
chmod u+x filename # adds execute permission to user

Absolute from 은 숫자 7까지 나타내는 3 bits 의 합으로 표기합니다.

사용자, 그룹, 또는 다른 사용자나 그룹마다 rwx 가 나타나고, 각 영역의 boolean 값으로 표기할 수 있습니다.

만약, user는 rwx를, group 과 other은 r-- 로 권한을 변경하려고 한다면, 위 표에 나와있는 숫자의 합을
user, group, other 순으로 입력하여 사용합니다.

# u=rwx (4 + 2 + 1 = 7), go=r (4 + 0 + 0 = 4)
chmod 744 helloworld.js # -rwxr--r--

참고사이트: https://kb.iu.edu/d/abdb

profile
Frontend Developer

0개의 댓글