13장. 파일 시스템 권한 관리


파일 시스템 권한은 사용자 및 그룹 계정에서 파일의 내용을 읽고 수정 및 실행하고 디렉토리를 입력할 수 있는 기능을 제어합니다. 무단 액세스로부터 데이터를 보호하려면 권한을 신중하게 설정합니다.

13.1. 파일 권한 관리

모든 파일 또는 디렉터리에는 세 가지 수준의 소유권이 있습니다.

  • 사용자 소유자(u).
  • 그룹 소유자(g).
  • 기타(o).

각 소유권 수준은 다음 권한을 할당할 수 있습니다.

  • 읽기(r).
  • 쓰기(w).
  • 실행(x).

파일에 대한 실행 권한을 사용하여 해당 파일을 실행할 수 있습니다. 디렉터리에 대한 실행 권한을 사용하면 디렉터리 내용에 액세스할 수 있지만 실행할 수는 없습니다.

새 파일 또는 디렉터리가 생성되면 기본 권한 집합이 자동으로 할당됩니다. 파일 또는 디렉토리에 대한 기본 권한은 다음 두 가지 요소를 기반으로 합니다.

  • 기본 권한.
  • 사용자 파일 생성 모드 마스크 (umask).

13.1.1. 기본 파일 권한

새 파일 또는 디렉터리가 생성될 때마다 기본 권한이 자동으로 할당됩니다. 파일 또는 디렉터리에 대한 기본 권한을 심볼릭 또는 8진수 값으로 표시할 수 있습니다.

권한

심볼릭 값

8진수 값

권한 없음

---

0

실행

--x

1

쓰기

-w-

2

쓰기 및 실행

-wx

3

읽기

r--

4

읽기 및 실행

r-x

5

읽기 및 쓰기

rw-

6

읽기, 쓰기, 실행

rwx

7

디렉터리의 기본 권한은 777 (drwxrwxrwx)으로, 모든 사용자에게 읽기, 쓰기, 실행 권한을 부여합니다. 즉, 디렉터리 소유자, 그룹 및 기타 사용자가 디렉터리의 콘텐츠를 나열하고 디렉터리 내에서 항목을 만들고 삭제하고 편집할 수 있습니다.

디렉터리 내의 개별 파일에는 무제한 디렉터리에 대한 액세스 권한이 있더라도 편집을 방해할 수 있는 자체 권한이 있을 수 있습니다.

파일의 기본 권한은 666 (-rw-rw-rw-)으로, 모든 사용자에게 읽기 및 쓰기 권한을 부여합니다. 즉, 파일 소유자, 그룹 및 기타 사용자가 파일을 읽고 편집할 수 있습니다.

예 13.1. 파일에 대한 권한

파일에 다음 권한이 있는 경우:

$ ls -l
-rwxrw----. 1 sysadmins sysadmins 2 Mar 2 08:43 file
  • - 파일이 파일임을 나타냅니다.
  • rwx 는 파일 소유자가 파일을 읽고 쓰고 실행할 수 있는 권한이 있음을 나타냅니다.
  • rw- 는 그룹에 읽기 및 쓰기 권한이 있지만 파일을 실행하지 않음을 나타냅니다.
  • --- 다른 사용자에게 파일을 읽고, 쓰거나, 실행할 수 있는 권한이 없음을 나타냅니다.
  • . 은 SELinux 보안 컨텍스트가 파일에 대해 설정되었음을 나타냅니다.

예 13.2. 디렉토리에 대한 권한

디렉터리에 다음과 같은 권한이 있는 경우:

$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
  • d 는 디렉토리임을 나타냅니다.
  • rwx 는 디렉터리 소유자가 디렉터리의 내용을 읽고 쓰고 액세스할 수 있는 권한이 있음을 나타냅니다.

    디렉터리 소유자로서 디렉터리 내의 항목(파일, 하위 디렉터리)을 나열하고 해당 항목의 내용에 액세스하여 수정할 수 있습니다.

  • R -x 는 그룹에 디렉터리의 내용을 읽을 수 있는 권한이 있지만 쓸 수는 없음을 나타냅니다. 새 항목을 생성하거나 파일을 삭제할 수 없습니다. x 권한은 cd 명령을 사용하여 디렉터리에 액세스할 수도 있음을 의미합니다.
  • --- 다른 사용자에게 디렉터리 내용을 읽고, 쓰거나, 액세스할 수 있는 권한이 없음을 나타냅니다.

    사용자 소유자가 아니거나 디렉토리의 그룹 소유자로서는 디렉터리 내의 항목을 나열하거나, 해당 항목에 대한 정보에 액세스하거나, 수정할 수 없습니다.

  • . 은 SELinux 보안 컨텍스트가 디렉터리에 대해 설정되었음을 나타냅니다.
참고

파일 또는 디렉터리에 자동으로 할당되는 기본 권한은 파일 또는 디렉터리가 로 끝나는 기본 권한이 아닙니다. 파일 또는 디렉토리를 만들면 기본 권한이 umask 에 의해 변경됩니다. 기본 권한과 umask 의 조합은 파일 및 디렉터리에 대한 기본 권한을 생성합니다.

13.1.2. 사용자 파일 생성 모드 마스크

user file-creation mode mask(umask)는 새로 생성된 파일 및 디렉터리에 대해 파일 권한이 설정되는 방법을 제어하는 변수입니다. CloudEvent Linux 시스템의 전체 보안을 높이기 위해 기본 권한 값에서 권한을 자동으로 제거합니다. umask심볼릭 또는 8진수 값으로 나타낼 수 있습니다.

권한

심볼릭 값

8진수 값

읽기, 쓰기 및 실행

rwx

0

읽기 및 쓰기

rw-

1

읽기 및 실행

r-x

2

읽기

r--

3

쓰기 및 실행

-wx

4

쓰기

-w-

5

실행

--x

6

권한 없음

---

7

표준 사용자의 기본 umask0002 입니다. root 사용자의 기본 umask0022 입니다.

umask 의 첫 번째 숫자는 특별 권한(고정 비트, )을 나타냅니다. umask 의 마지막 세 자리 숫자는 사용자 소유자(u), 그룹 소유자(g) 및 기타(o)에서 각각 제거된 권한을 나타냅니다.

예 13.3. 파일을 만들 때 umask 적용

다음 예제에서는 기본 권한이 640 인 파일을 생성하기 위해 8진수 값이 0137umask777 기본 권한이 있는 파일에 적용되는 방법을 보여줍니다.

사용자 그룹 Umask 예

13.1.3. 기본 파일 권한

기본 권한은 새로 생성된 모든 파일 및 디렉터리에 대해 자동으로 설정됩니다. 기본 권한의 값은 기본 권한에 umask 를 적용하여 결정됩니다.

예 13.4. 표준 사용자가 생성한 디렉터리에 대한 기본 권한

표준 사용자가디렉토리 를 만들면 umask002 (rwxrwxr-x)로 설정되고 디렉터리의 기본 권한이 777 (rwxrwxrwx)으로 설정됩니다. 그러면 775 (drwxrwxr-x)에 기본 권한이 부여됩니다.

 

심볼릭 값

8진수 값

기본 권한

rwxrwxrwx

777

umask

rwxrwxr-x

002

기본 권한

rwxrwxr-x

775

즉, 디렉터리 소유자와 그룹은 디렉터리의 콘텐츠를 나열하고 디렉터리 내에서 항목을 만들고 삭제하고 편집할 수 있습니다. 다른 사용자는 디렉터리의 내용만 나열할 수 있으며 디렉토리의 하위 항목만 나열할 수 있습니다.

예 13.5. 표준 사용자가 생성한 파일에 대한 기본 권한

표준 사용자가파일을 만들면 umask002 (rwxrwxr-x)로 설정되고 파일의 기본 권한이 666 (rw-rw-rw-)으로 설정됩니다. 이렇게 하면 기본 권한은 664 (-rw-rw-r--)입니다.

 

심볼릭 값

8진수 값

기본 권한

rw-rw-rw-

666

umask

rwxrwxr-x

002

기본 권한

rw-rw-r--

664

즉, 파일 소유자와 그룹은 파일을 읽고 편집할 수 있지만 다른 사용자는 파일을 읽을 수만 있습니다.

예 13.6. root 사용자가 만든 디렉토리에 대한 기본 권한

루트 사용자가디렉토리 를 만들면 umask022 (rwxr-xr-x)로 설정되고 디렉터리의 기본 권한이 777 (rwxrwxrwx)으로 설정됩니다. 이렇게 하면 기본 권한은 755 (rwxr-xr-x)입니다.

 

심볼릭 값

8진수 값

기본 권한

rwxrwxrwx

777

umask

rwxr-xr-x

022

기본 권한

rwxr-xr-x

755

즉, 디렉터리 소유자가 디렉터리의 내용을 나열하고 디렉터리 내에서 항목을 만들고 삭제하고 편집할 수 있습니다. 그룹 및 기타 그룹은 디렉터리의 내용만 나열하고 해당 디렉토리로 이동할 수 있습니다.

예 13.7. root 사용자가 생성한 파일에 대한 기본 권한

루트 사용자가파일을 만들면 umask022 (rwxr-xr-x)로 설정되고 파일의 기본 권한이 666 (rw-rw-rw-)으로 설정됩니다. 이렇게 하면 기본 권한이 644 (-rw-r-​r--).

 

심볼릭 값

8진수 값

기본 권한

rw-rw-rw-

666

umask

rwxr-xr-x

022

기본 권한

rw-r—​r--

644

즉, file 소유자는 파일을 읽고 편집할 수 있지만 그룹 및 기타 사용자는 파일을 읽을 수 있습니다.

참고

보안상의 이유로 umask000 (rwxrwxrwx)으로 설정된 경우에도 일반 파일은 기본적으로 실행 권한을 가질 수 없습니다. 그러나 실행 권한으로 디렉터리를 생성할 수 있습니다.

13.1.4. 심볼릭 값을 사용하여 파일 권한 변경

chmod 유틸리티를 심볼릭 값(복합 문자 및 기호)과 함께 사용하여 파일 또는 디렉토리의 파일 권한을 변경할 수 있습니다.

다음 권한을 할당할 수 있습니다.

  • 읽기 (r)
  • 쓰기 (w)
  • 실행 (x)

권한을 다음 수준의 소유권 에 할당할 수 있습니다.

  • 사용자 소유자 (u)
  • 그룹 소유자(g)
  • 기타 (o)
  • 모두 (a)

권한을 추가하거나 제거하려면 다음 기호를 사용할 수 있습니다 :

  • +: 기존 권한 위에 권한을 추가합니다.
  • - 기존 권한에서 권한을 제거하려면 -
  • = - 기존 권한을 제거하고 명시적으로 새 권한을 정의합니다.

절차

  • 파일 또는 디렉토리에 대한 권한을 변경하려면 다음을 사용합니다.

    $ chmod <level><operation><permission> file-name

    <level> 을 권한을 설정할 소유권 수준으로 바꿉니다. <operation>기호 중 하나로 바꿉니다. <permission> 을 할당하려는 권한 으로 바꿉니다. file-name 을 파일 또는 디렉터리의 이름으로 바꿉니다. 예를 들어 모든 사용자에게 읽기, 쓰기, 실행(rwx) my-script.sh 에 대한 권한을 부여하려면 chmod a=rwx my-script.sh 명령을 사용합니다.

    자세한 내용은 기본 파일 권한을 참조하십시오.

검증

  • 특정 파일의 권한을 보려면 다음을 사용합니다.

    $ ls -l file-name

    file-name 을 파일 이름으로 바꿉니다.

  • 특정 디렉터리에 대한 권한을 보려면 다음을 사용합니다.

    $ ls -dl directory-name

    directory-name 을 디렉터리 이름으로 바꿉니다.

  • 특정 디렉토리 내의 모든 파일에 대한 권한을 보려면 다음을 사용합니다.

    $ ls -l directory-name

    directory-name 을 디렉터리 이름으로 바꿉니다.

예 13.8. 파일 및 디렉토리에 대한 권한 변경

  • my-file.txt 의 파일 권한을 -rw-rw-r-- 에서 -rw------ 로 변경하려면 다음을 사용합니다.

    1. my-file.txt 의 현재 권한을 표시합니다 :

      $ ls -l my-file.txt
      -rw-rw-r--. 1 username username 0 Feb 24 17:56 my-file.txt
    2. 그룹 소유자(g) 및 기타(o)에서 파일을 읽기, 쓰기, 실행(rwx)할 수 있는 권한을 제거합니다.

      $ chmod go= my-file.txt

      등호(=) 후에 지정되지 않는 모든 권한은 자동으로 금지됩니다.

    3. my-file.txt 에 대한 권한이 올바르게 설정되었는지 확인합니다.

      $ ls -l my-file.txt
      -rw-------. 1 username username 0 Feb 24 17:56 my-file.txt
  • my-directory 의 파일 권한을 drwxrwx---에서 drwx rwxr-x 로 변경하려면 다음을 사용합니다.

    1. my-directory 에 대한 현재 권한을 표시합니다.

      $ ls -dl my-directory
      drwxrwx---. 2 username username 4096 Feb 24 18:12 my-directory
    2. 모든 사용자(a)에 대해 읽기 및 실행(r-x) 액세스를 추가합니다.

      $ chmod o+rx my-directory
    3. my-directory 및 해당 콘텐츠에 대한 권한이 올바르게 설정되었는지 확인합니다.

      $ ls -dl my-directory
      drwxrwxr-x. 2 username username 4096 Feb 24 18:12 my-directory

13.1.5. 8진수 값을 사용하여 파일 권한 변경

chmod 유틸리티를 8진수 값(숫자)과 함께 사용하여 파일 또는 디렉터리의 파일 권한을 변경할 수 있습니다.

절차

  • 기존 파일 또는 디렉터리에 대한 파일 권한을 변경하려면 다음을 사용합니다.

    $ chmod octal_value file-name

    file-name 을 파일 또는 디렉터리의 이름으로 바꿉니다. octal_value 를 8진수 값으로 교체합니다. 자세한 내용은 기본 파일 권한을 참조하십시오.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.