본문 바로가기

Linux

파일 속성&권한

[파일/디렉토리 속성]

         d                  : 어떤 것인지를 의미 d는 디렉토리, 파일은 - , 링크는 l

         rwxr-xr-x      : 파일/디렉토리의 권한을 의미

         3                  : 하드링크의 갯수를 의미

         root(왼쪽)    : 소유주

         root(오른쪽) :소유그룹

         20                : 용량

         9월 13 22:23: 마지막으로 수정한 날짜

         /home          : 파일/디렉토리의 이름


[권한]
 - 파일/디렉토리를 사용할 수 있는지 여부를 정하는 개념
 - 허가권, 소유권으로 구분
    -> 허가권 + 소유권 = 권한 

[허가권]
 - ls -l 명령을 입력했을 때 나오는 출력 내용 중 개체 형식을 나타내는 첫 글자 뒤에 오는 9개의 글자가 허가권

 - 8가지 문자로 권한을 표현 : r, w, x, -, s, S, t, T
      r, w, x, -  : 일반 권한 표현 문자
      s, S, t, T  : 특수 권한 표현 문자


 - r : 읽기, w : 쓰기, x : 실행/접근, - : 권한 없음


         r : 파일 - 파일 내용 읽기 ; cat, head, tail, more, less, vi로 열었을 때 등
             디렉토리 - 디렉토리 내부 목록 확인 ; ls, GUI환경에서 폴더를 들어갔을 때 등

        w : 파일 - 파일 내용 수정 ; 문서 편집 후 저장, > 기호를 이용하여 덮어쓰기 or 내용 추가 등
             디렉토리 - 디렉토리 내부 목록 수정 ; 디렉토리 내부 하위 파일/디렉토리 생성/삭제 등

        x : 파일 - 실행 ; 파일에 x가 없으면 일반 문서 파일, 파일에 x가 있으면 실행 파일(ex. 명령어)
            디렉토리 - 접근  ; 디렉토리에 x가 없으면 디렉토리 자체 + 내부의 항목들을 사용 불가능

  - 9자리의 권한 문자를 3개씩 끊어서 Owner(User), Group, Other 영역으로 구분
     -> 각 영역에는 r, w, x가 순서대로 들어가고, 특정 권한이 없다면 r, w, x 대신에 - 이 들어감

      Owner(User) : 소유자를 위한 권한(소유자 : 파일/디렉토리를 소유 중인 사용자)
      Group            : 그룹 사용자를 위한 권한(그룹 사용자 : 파일/디렉토리를 소유 중인 그룹에 소속된 사용자)
      Other             : 그 외 사용자를 위한 권한(그 외 사용자 : Owner, Group 둘 다 해당되지 않는 사용자)
                     

                  * 3개의 영역 중 어느 영역의 권한을 적용 받는지에 대한 내용은 소유권에서 결정

 


[허가권 변경]

  -형식
      chmod [옵션] 권한값 대상 [대상] ... [대상]

    * 권한값을 숫자/문자로 입력
      숫자로 입력하면 numeric method ; 변경할 권한 전체를 숫자로 입력

           ->  r = 4, w = 2, x = 1, - = 0

           -> 디렉토리 최대 권한 777(rwx), 파일 최대 권한 666(rw-)

 

     예시) chmod 755 {파일|디렉토리}

 


      문자로 입력하면 symbolic method ; 영역 문자에 필요한 권한을 +, - 기호를 이용하여 더하거나 빼준다
           -> stmbolic method에서 사용하는 영역 문자
                u : Owner(User)
                g : Group
                o : Other

      예시) chmod u-r,g-w+rx,o+r-x {파일|디렉토리} ,  chmod u=w,g=rx,o=rw {파일|디렉토리} 처럼 =을 이용


[소유권]
 - 파일/디렉터리를 어느 사용자와 그룹이 소유하고 있는지 나타내는 권한
    -> ls -l 명령으로 출력되는 정보 중 링크 개수 뒤에 나오는 사용자명과 그룹명이 소유권

 - 소유권은 두 개의 영역으로 구분
    -> 앞에 나오는 정보가 계정명(UID), 해당 파일/디렉토리를 소유하고 있는 사용자
        뒤에 나오는 정보가 그룹명(GID), 해당 파일/디렉토리를 소유하고 있는 그룹

drwx------ 3 itbank itbank 78  2월 24 16:14 /home/itbank
      UID  |  GID
 소유권

 - 소유권 변경
chown [옵션] 권한값 대상 [대상] ... [대상]

     * 권한값 작성 방식( . 대신에 : 기호를 사용할 수 있음)
         UID            : 소유권의 UID 영역 변경
         UID.GID    : 소유권의 UID, GID 영역 변경
         .GID          :  소유권의 GID 영역 변경

   * 옵션
       -R : 안의 파일까지 소유권 변경


 

[특수 권한]
 - 특이한 동작을 하는 권한

 - setUID, setGID, sticky bit 3가지의 특수 권한이 있음

    4777   r w 's' r w x r w x   : setUID
    2777   r w x r w 's' r w x   : setGID
    1777   r w x r w x r w 't'   : sticky bit

          * x 위치의 문자가 s/t로 변경(실행권한이 있으면 소문자 s/t, 실행권한이 없다면 대문자 S/T)

 

 

setUID
 - 파일이 동작하는 동안 owner의 권한을 사용할 수 있도록 해주는 특수 권한

 

setGID
 - 파일이 동작하는 동안 group의 권한을 사용할 수 있도록 해주는 특수 권한

 


sticky bit
 - 디렉토리 내부의 파일/디렉토리 생성은 권한만 있으면 누구나 가능하지만
   내부 파일/디렉토리의 삭제는 대상의 소유자(소유권의 UID)와 관리자만 가능


umask
 - 생성하는 파일/디렉토리의 허가권을 제어하는 값
    -> 사용자 계정마다 부여되어 있는 값

 - 파일/디렉토리 생성 시 소유권은 해당 파일/디렉토리를 생성하는 사용자의 UID, GID로 자동 지정
   허가권은 파일/디렉토리의 최대 권한 값에서 umask를 뺀 나머지 권한으로 지정

 -  형식
       umask          : 내 umask 확인
       umask <값> : 내 umask 변경

 

     예시) root의 usmask = 0022 이기 때문에 디렉토리의 경우 755로 파일의 경우 644로 생성됨

/test 디렉토리 생성

 

/test 디렉토리에 test.txt 파일 생성






'Linux' 카테고리의 다른 글

사용자 계정(2) - 계정 비밀번호 관리  (0) 2022.09.14
ACL(access control list)  (0) 2022.09.14
사용자 계정&그룹  (0) 2022.09.13
Linux 파일 링크, 압축  (0) 2022.09.09
Vi 에디터 정리  (0) 2022.09.09