사용권한

최경락 (K_ROCK_)·2022년 1월 17일
0

ls -l

  • 리눅스 터미널에서 ls -l 을 사용하면 파일의 목록을 더 자세한 정보와 함께 표시한다.
  • 현재 폴더의 파일과 폴더의 권한과 소유자를 확인 할 수 있다.

  • 여기서 가장 앞을 보면 10자리의 문자가 있는데, 이는 아래의 뜻과 같다.
    -rw-r—-r--

파일의 형태

  • 첫 번째 문자에서 해당 내용을 확인 할 수 있다.
    → “-rw-r—-r--
  • 일반 파일의 경우 - , 폴더의 경우 d 로 표시되며, 타입에 따라 다른 내용도 존재한다.

접근 권한

  • 첫 번째 문자를 제외한 다른 문자들에서 해당 내용을 확인 할 수 있다.
    -rw-r—-r--"
  • 총 9자의 문자로 이루어지며, 3문자마다 각각 파일을 소유한 유저, 그룹, 다른 유저를 나타낸다.
    (그룹다른 유저는 협업으로 인해 같은 파일을 공유할 경우에 중요할 것 같다.)
  • 3문자는 권한을 뜻하며 각각 rwx 로 나뉘는 데, 읽기(r, read), 수정(w, write), 실행(x, execute) 권한을 뜻한다.
  • 만약 해당 위치에 - 가 작성되어 있다면, 권한이 없음을 나타낸다.
-rw-r--r--
#일반 파일/소유자는 읽고 쓸 수 있다./같은 그룹은 읽을 수 있다./다른 유저는 읽을 수 있다.

drwx------
#폴더/소유자는 읽고, 쓰고, 실행 시킬 수 있다./이외는 읽거나 쓰거나 실행 할 수 없다.

user, group, other

  • user
    • 파일의 소유자를 나타낸다, 기본적으로 파일을 생성한 사람이 소유자로 지정된다.
  • group
    • group은 여러 user를 포함 할 수 있다.
    • 여러 사람이 함께하는 프로젝트인 경우 일일히 user 개개인에게 권한을 주는 것이 아니라, 해당 유저들을 group에 추가하고, 접근 권한을 할당 할 수 있다.
  • other
    • 엑세스 권한이 있는 파일을 만들지 않은 다른 모든 user 를 뜻한다.
    • 해당 권한을 global 권한이라고 볼 수 있다.

chmod

  • 파일의 권한을 변경하는 명령어이다.
  • 일반적으로는 로그인한 사용자와 파일의 생성자가 같은 경우 chmod 로 권한을 변경 할 수 있으며, 서로 다른 경우 sudo 를 이용하여 일시적으로 관리자권한을 이용하여 변경 할 수 있다.
  • 권한을 변경하는 방법에는 두 가지 방법이 있으며, Symbolic methodAbsolute form 으로 나눌 수 있다.

Symbolic Method

  • 액세스 클래스연산자, 권한을 함께 작성하여 권한을 지정한다.
  • 액세스 클래스는 u,g,o,a 로 나뉘며, 각각 user, group, other, all 의 의미를 가진다.
  • 연산자는 +(권한 추가), -(권한 제거), =(권한 할당) 으로 나뉜다.
  • 권한은 r, w, x 로 위에서 설명한 바와 같다.
  • 아래의 예시는 기준 파일의 권한이 rw-r----- 임을 가정한다.
#기준 파일 권한 rw-r-----

chmod u+x 파일이름   #rwxr-----
chmod o+rwx 파일이름 #rw-r--rwx
chmod a+x 파일이름   #rwxr-x--x

chmod g-r 파일이름   #rw-------
chmod u-rw 파일이름  #---------
chmod ug-r 파일이름  #-w-------

chmod g=x 파일이름   #--xr-----
chmod a=r 파일이름   #r--r--r--

→ 할당의 경우 기존 권한을 수정하는 것이 아니라, 지정한 값으로 새롭게 '할당'한다.

Absolute Form

  • 최대 7의 3비트 숫자의 합으로 권한을 설정하는 방법이다.
  • 연산자나 액세스 클래스를 기억하지 않아도 합을 계산하는 것으로 쉽게 권한을 수정 할 수 있다.
권한숫자
Read / r4
Write / w2
Execute / x1
  • 수를 더한 합을 권한으로 사용한다.
  • Symbolic Method 에서 할당(=)하는 것과 유사하다.
  • 수의 합을 각각 user, group, other의 위치에 맞게 작성한다.
chmod 777 파일이름 #rwxrwxrwx
chmod 000 파일이름 #---------
chmod 620 파일이름 #rw--w----
chmod 547 파일이름 #r-xr--rwx
chmod 761 파일이름 #rwxrw---x

0을 사용하는 경우 아무 권한도 주지않는다.


+

https://velog.io/@byeol4001/root와-admin-user-그리고-sudo와-su-su-의-차이
→ 아래의 내용은 해당 블로그의 내용와 댓글내용을 참고함.

사용자(user)의 종류

  • 사용 할 수 있는 권한의 수에 따라 root, admin, user 순으로 볼 수 있다.

root

  • root 는 전체 시스템의 모든 권한을 가진 가장 강력한 user이다.
  • root 권한을 빌려오는 방법으로는 아래의 방법들이 있다.
    • sudo 를 통해 일반 user일회성으로 root의 권한을 빌려 올 수 있다.
    • su 계정이름 를 이용하여 현재 계정에서 로그아웃하지 않고 다른 계정으로 전환 할 수 있다.
    • su - 계정이름 를 이용하여 현재 계정에서 로그아웃하고, 다른 계정으로 전환하여 해당 계정의 환경설정을 불러와 사용한다.
      → 여기서 - 의 차이는 --login 을 축약 한 것이라고 하며, 쉽게 생각해서 해당 계정으로 로그인한다 라는 뜻으로 볼 수 있겠다.
      su 의 경우 로그인은 하지 않고 전환만 할게~ 이런 느낌.

admin

  • adminroot로 부터 특정 파일 및 폴더의 권한을 부여받아 관리를 위해 사용되는 user의 한 종류이다.
    • admin 은 특별한 권한을 가지지 않으며 이름만 adminuser이다.
    • 대신, 관리할때는 이 계정을 이용하여 root에게 권한을 얻어서 관리하라는 뜻을 가지고 있다.
    • 즉, 일종의 관심사 분리로 볼 수도 있겠다.

user

  • user는 그냥 웹서핑하고 노래듣고 게임하고 그런 일반적인 유저를 뜻한다.

0개의 댓글