My Log

Linux Server - Permission(권한) 본문

취업준비/IT 이야기

Linux Server - Permission(권한)

My Log 2019. 8. 3. 20:03

리눅스 서버의 파일시스템은 파일뿐 아니라, 디렉토리나 기타 장치들도 모두 파일로 취급한다.

멀티유저(Multi-User), 멀티태스킹(Multi-Tasking)을 지원하는 리눅스는 이러한 파일에 대한 접근을 관리해야만 한다.

혼자 사용하는 시스템이 아니기 때문이다.

 

따라서, 파일에는 권한이 존재하여 각 사용자ㆍ그룹에 대한 접근관리를 수행하며 이를 통해 보안을 강화한다.

 

 

[Permission]

 

     - 리눅스의 프롬프트에서 # ls -al 명령어를 통한 결과값을 확인하면

        d rwx rwx rwx와 같은 형식의 값을 볼 수 있다. 물론 값은 파일마다 조금씩 다르게 나타난다.

        이 값이 바로 파일의 권한을 나타내는 값이다.

 

        이를 크게 두 부분으로 나눌 수 있는데

 

​        1) 첫 번째는 파일 종류이다.

        위의 결과값 d rwx rwx rwx 중 맨 앞의 d라는 값이 바로 파일의 종류를 나타내는 값이다.

 

        여기서는 d 값을 예로 들었는데, 아래 세 가지의 값이 위치할 수 있다.

             ㄱ) ' - '  : 일반파일

             ㄴ) ' d ' : 디렉토리 파일

             ㄷ) ' c ' : 특수 파일

 

​        2) 두 번째는 권한이다.

​        위의 결과값 d rwx rwx rwx 중 rwx rwx rwx 부분이 바로 파일의 권한을 나타내는 값이다.

​        왼쪽부터 3개씩 순서대로 Owner, Group, Other의 권한을 나타낸다.

 

​        권한에는 아래와 같은 값이 위치할 수 있다.

​             ㄱ) ' - ' : 권한없음

​             ㄴ) ' r ' : 읽기권한을 가짐

​             ㄷ) ' w ' : 쓰기권한을 가짐

​             ㄹ) ' x ' : 실행권한을 가짐

 

​        - 파일이나 디렉토리를 생성하면 시스템의 umask에 따라 권한이 다르게 부여되며, umask는 022의 디폴트 값을 지닌다.

​           umask는 간단하게 생각해서 기본권한을 어떻게 부여할지 정한 값이라고 보면 된다.

 

​          파일이나 디렉토리 생성 시, umask에 따라 아래와 같이 권한이 부여된다.

​                ㄱ) 디렉토리 : 777 - 022(umask) = 755

​                ㄴ) 파일 : 666 - 022(umask) = 644

 

​           해당 숫자값을 순서대로 Owner, Group, Other의 권한에 대입하여 파일이나 디렉토리의 권한을 구할 수 있다.

​           예를 들어, 디렉토리 권한의 결과값인 755는 순서대로 Owner = 7 , Group = 5, Other = 5 이며

​           Owner = 7 = 4 + 2 + 1 = rwx ( rwx를 2진수의 값이라고 생각하고 해당값이 1이 될 때 권한이 있는 것으로 볼 수 있다.)

​           Group = 5 = 4 +  0 + 1 = r-x

​           Other = 5 = 4 + 0 + 1 = r-x

​           따라서, 이 시스템은 디렉토리를 생성할 때 기본적으로 생성자는 읽기/쓰기/실행 권한을 가지며, 해당 그룹의 경우 읽기와

          실행 권한, 그 외의 사용자는 읽기와 실행권한을 가지게 됨을 알 수 있다.

 

​           다시 한번, 파일의 권한인 644를 통해 알아보면

​           Owner = 6 = 4 + 2 + 0 = rw-

​           Group = 4 = 4 + 0 + 0 = r--

​           Other = 4 = 4 + 0 + 0 = r--

​           이 값을 통해 파일은 생성될 때, 생성자에게는 읽기와 쓰기권한을, 해당 그룹과 그 외 사용자에게는 읽기권한만을 부여한다는

​           것을 알 수 있다.

 

​        - 디렉토리의 디폴트(기본) 권한 값이 파일보다 큰 이유는 결과값에서 볼 수 있듯이 실행권한(x)의 차이이다.

​          이는 디렉토리의 특성 때문이다. 디렉토리는 사용자가 해당 디렉토리로 접근하기 위해서는 실행권한이 있어야 하기 때문이다.

​          실행권한이 없다면 해당 디렉토리로의 Access가 불가능하다.

'취업준비 > IT 이야기' 카테고리의 다른 글

정리 : 개인정보 비식별 조치 가이드라인  (0) 2019.08.01
Comments