Linux - 파일의 접근 권한 소유권

     


    이번 포스팅에서는 Linux에서 파일의 접근 권한과 소유권에 대해서 알아보도록 하겠습니다


     

       Linux 파일의 접근 권한 및 소유권

     

     


    리눅스 시스템은 파일에 소유권에 권한을 주어서 각 사용자가 사용하는 파일에 대한 제어를 할수 있도록 하고 있습니다 이러한 권한은 다중 사용자들이 리눅스와 유닉스 시스템에서의 보안정책으로 당연한 정책 입니다 또한 파일 소유권을 이용하여 다른 사용자가 자신의 파일을 타인으로부터 보호할 수 있습니다


    리눅스는 파일 권한은 기본적으로 사용자와 그룹이 소유권을 가지도록 설정 됩니다 예로 사용자가 처음 파일을 생성할경우 파일을 생성한 사용자, 그룹 및 다른 사용자에 대한 접근권한이 설정되며, 이런 설정을 Permission 설정 이라고도 합니다


    파일의 소유권이나 권한 설정도 명령어를 사용하여 변경할 수 있으며, 파일에 SetUID, SetGID, 속성(Attribute)에 대한 설정도 가능합니다.


     

       Linux 소유권

     

     

    리눅스는 사용자와 그룹이 파일의 소유권을 가지도록 설정되어 있습니다 사용자가 처음으로 파일을 생성하면 그 파일을 만든 사용자와 그 사용자가 속해 있는 기본 그룹이 그 파일의 소유자가 됩니다

    -rw-r--r-- 1 suji suji 3771 Feb 25 2020 .bashrc


    파일의 소유권 변경은 chown 명령을 통해 변경할수 있고, 위 명령어와 같이 ls -l 명령을 통해 파일의 정보를 출력하면 파일의 대한 소유권에 관한 정보가 출력 됩니다

     

     

     

       Linux 권한(Permission)



    파일의 퍼미션 종류에는 기본적으로 아래와 같이 3개의 종류가 있습니다 그리고 파일에 대한 접근 권한은 이들의 조합으로 결정됩니다 동일한 퍼미션이 파일에 적용될 대와 디렉토리에 적용될 때에 일반적인 의미는 같지만 실제 적용되어 나타나는 결과적인 의미는 다릅니다

    권한 일반적인 의미 파일 디렉토리
    r 읽기(read) 권한 파일을 읽을 수 있음 디렉토리의 내용을 볼 수 있음
    w 쓰기(write) 권한 파일을 저장 및 삭제할 수 있음 디렉토리에 파일을 저장하거나 디렉토리 이름변경 및 삭제 등이 가능함
    x 실행(execution) 권한 파일을 실행할 수 있음 디렉토리에 접근할 수 있음(cd 명령으로 접근 가능. ls로 리스트는 읽기 권한이 있어야 함)


    파일의 권한 종류는 기본적으로 읽기, 쓰기, 실행으로 3가지 종류가 있으며, 파일의 접근 권한은 3가지 종류의 조합을 통해 결정 됩니다


    권한 일반적인 의미 파일 디렉토리
    s SetUID, SetGID 권한 파일 소유자(SetUID), 그룹 소유자(SetGID)의 권한으로 실행함
    t Stickey Bit 권한 공유 디렉토리로 사용됨. 파일 소유자만 파일 삭제 가능


    그리고 위 표와 같이 추가적으로 권한을 설정할 수 있습니다.


    2진수 8진수 표시 권한 의미
    000 0 --- 아무런 권한이 없음
    001 1 --x 실행 권한만 있음
    010 2 -w- 쓰기 권한만 있음
    011 3 -wx 쓰기와 실행 권한만 있음
    100 4 r-- 읽기 권한만 있음
    101 5 r-w 읽기와 실행 권한만 있음
    110 6 rw- 읽기와 쓰기 권한만 있음
    111 7 rwx 읽기, 쓰기 및 실행 권한이 있음


    파일의 권한을 정확하게 알기 위해서는 2진수와 8진수의 관계를 이해하셔야 되며, 이러한 숫자의 표기에 따라 권한이 어떻게 부여되는지 의미를 알아야 됩니다.


    종류 의미
    소유자(Owner) 파일이나 디렉토리를 처음 만들거나 소유권을 가진 사람
    그룹(Group) 사용자가 속한 그룹 및 그 그룹에 포함된 사람들
    다른 사람들(Other) 소유자 및 그룹에 속해있지 않은 사람들


    그리고 파일의 권한은 사용자, 그룹, 다른사용자(익명) 접근 권한을 의미하는데 위 표와 같습니다


     

       Linux 파일의 허가권

     


    리눅스의 파일은 파일의 소유자, 그룹 소속자 및 다른 사용자로 구분하고 파일의 소유자, 그룹 소속자, 다른 사용자에 대해 일기, 쓰기, 실행 권한을 각각 부여한는 것이 가능합니다

    그리고 이렇게 파일에 대한 권한을 부여받으면 권한에 따라 파일에 대한 접근이 가능합니다



    보다 정확한 설명을 위해여 아래와 같이 ls -l 명령의 결과를 보겠습니다

    # ls -l total 8 drwxrwxr-x 12 server server 4096 Jun 22 05:36 aaa


    ls -l 명령어를 사용한 파일의 권한을 확인할 수 있는데, 위 내용과 같이 각 행들의 첫 번째 부분에 권한(Permission) "-rw-r-x-r-x"가 설정되어 있는 것을 확인하실 수 있습니다.


    파일의 권한 -rw-r-xr-x
    파일 소유자 server
    파일 그룹 소유자 server
    파일 크기 4096
    파일명 aaa

     

    - r w - r - x r - x
    파일유형 소유자 권한 그룹소속자 권한 일반다른사용자 권한


    위 표에서 권한(Permission) 부분은 9자로 이루어져 있고, 파일 유형, 소유자 권한, 그룹 소속자 권한, 다른사용자로 권한을 나눌수 있습니다.

     

     

     

       Linux 파일유형

     

     

    파일유형 내용
    - 일반 파일임을 의미함
    b 블럭 구조의 특수 파일(Block Special File)의 의미함(예 /dev/sda)
    c 입출력에 사용되는 특수 파일(character Special File)을 의마함 (예 /dev/console)
    d 디렉토리를 의미하며, 디렉토리도 하나의 특수 파일로 취급함
    l 심복릭 링크 파일(Link File)을 의미함
    p 파이프 파일(Pipe File)을 의미함
    s 소켓 파일(Soket File)을 의미함


    파일 유형은 소유자 권한 앞에 문자 기호를 통해 알수 있으며 의미하는 문자 기호는 위 표와 같습니다.



       Linux 소유자, 그룹소속자 및 일반다른사용자의 권한

     

     

    권한 내용
    - - - 소유자/그룹소속자/일반다른사용자에게 아무런 권한이 없음
    (8 진수 표시 : 0, 2 진수표시 : 000)
    - - x 소유자/그룹소속자/일반다른사용자에게 실행 권한만 있음
    (8 진수 표시 : 1, 2 진수표시 : 001)
    - w - 소유자/그룹소속자/일반다른사용자에게 쓰기 권한만 있음
    (8 진수 표시 : 2, 2 진수표시 : 010)
    -wx 소유자/그룹소속자/일반다른사용자에게 쓰기와 실행 권한만 있음
    (8 진수 표시 : 3, 2 진수표시 : 001)
    r-- 소유자/그룹소속자/일반다른사용자에게 읽기 권한만 있음
    (8 진수 표시 : 4, 2 진수표시 : 100)
    r-x 소유자/그룹소속자/일반다른사용자에게 읽기와 실행 권한만 있음
    (8 진수 표시 : 5, 2 진수표시 : 101)
    rw- 소유자/그룹소속자/일반다른사용자에게 읽기와 쓰기 권한만 있음
    (8 진수 표시 : 6, 2 진수표시 : 110)
    rwx 소유자/그룹소속자/일반다른사용자에게 읽기, 쓰기, 실행 권한이 있음
    (8 진수 표시 : 7, 2 진수표시 : 111)


    소유자, 그룹 소속자, 다른 사용자의 권한을 각각 설정할 수 있으며, 각각의 의미하는 것은 위 표와 같다.

    위 표와 같이 파일이나 디렉토리에 대한 권한의 설정 및 변경은 chmod 명령어를 사용하며 소유권과 그룹은 chown 명령어를 사용하여 설정 및 변경할 수 있습니다.

    Posted by 서버이야기