Linux 파일 권한 – Chmod 777이란 무엇이며 사용 방법

새로운 Linux 사용자(new Linux user) 라면 초기에 Chmod 명령을 접했을 것 입니다. 누군가가 파일을 특정 폴더로 이동하기 위해 "chmod 777"을 지시했고 작동했습니다! 그렇다면 chmod 명령은 무엇을 하고 숫자는 무엇을 의미합니까?

이 기사에서는 Linux(Linux) 파일 권한 에 대해 알아야 할 모든 것을 설명합니다 . chmod 명령과 특정 액세스 수준에 해당하는 숫자를 이해하려면 이것을 아는 것이 중요합니다. Ubuntu , Fedora 또는 좀 더 이국적인 Linux 배포판(Linux distro) 을 사용하는지 여부 에 관계없이 CHMOD 명령 을 사용하여 권한을 777로 설정해도 되는 경우와 다른 설정을 사용해야 하는 경우를 이해해야 합니다.

Linux 파일 권한 작동 방식

Linux 에서 운영 체제는 파일 권한, 소유권 및 속성을 기반으로 특정 파일에 액세스할 수 있는 사람을 결정합니다. 시스템을 통해 소유자 또는 관리자는 다양한 파일 및 디렉토리에 대한 액세스 제한을 활성화할 수 있습니다. 신뢰하는 사용자와 프로그램에만 액세스 권한을 부여하여 시스템 보안을 향상시킬 수 있습니다.

사용자 클래스 이해(Understanding User Classes)

특정 사용자와 그룹은 모든 단일 파일과 디렉토리를 소유합니다. 즉 , 특정 수준의 액세스를 할당할 수 있는 세 가지 범주의 사용자 가 있습니다. (three categories of users)이러한 사용자는 다음과 같이 분류됩니다.

  • 소유자
  • 그룹
  • 기타

디렉토리를 마우스 오른쪽 버튼으로 클릭하고 속성 을 선택한 다음 (Properties)권한(Permissions) 탭 으로 이동 하여 Ubuntu 에서 이러한 그룹을 시각적으로 볼 수 있습니다 .

소유자(Owner) 는 모든 권한을 가진 사람입니다. 일반적으로 모든 파일과 디렉토리에 대한 전체 액세스 권한이 있으며 다른 사용자의 파일 권한도 변경할 수 있습니다.

그룹(Group)소유자(Owner) 가 제공한 파일 또는 디렉토리에 대해 특정 수준의 액세스 권한을 가진 다수의 사용자로 구성됩니다 . 예를 들어, 사용자 그룹은 해당 파일을 볼 수 있는 액세스 권한이 부여되는 동안 파일 수정에서 제외될 수 있습니다.

Others 클래스 는 단순히 다른 두 범주에 속하지 않는 게스트 사용자를 나타냅니다. 기본적으로 액세스 수준은 일반적으로 제한됩니다. 게스트 사용자가 할 수 있는 것과 할 수 없는 것을 결정하는 것은 소유자 에게 달려 있습니다.(Owner)

파일 권한 수준 이해(Understanding File Permission Levels)

소유자(Owner) 는 파일 및 디렉토리에 대한 세 가지 액세스 수준을 지정할 수 있습니다.

  1. 읽기(Read) : 파일 또는 디렉토리에 대한 제한된 액세스를 제공합니다. 할 수 있는 일은 파일을 읽거나 디렉토리의 내용을 보는 것뿐입니다. 파일을 편집할 수 없으며 디렉터리에 새 파일을 제거하거나 추가할 수 없습니다.
  2. 쓰기(Write) : 파일을 읽고 편집할 수 있습니다. 디렉터리에 이 수준의 액세스를 할당하면 파일을 제거하거나 추가할 수도 있습니다.
  3. Execute : 파일을 실행하거나 실행할 때만 중요합니다. 예를 들어 Execute(Execute) 권한 없이 스크립트나 프로그램을 실행할 수 없습니다 .

클래스와 권한을 결합하여 특정 사용자가 파일이나 디렉토리에 얼마나 접근할 수 있는지 제어할 수 있습니다.

권한 기호(Symbols)숫자(Numbers) 설명

파일 권한은 숫자 또는 기호로 표시됩니다. 기호와 숫자를 모두 사용하여 파일 및 디렉토리 권한을 변경할 수 있습니다. 가장 쉬운 방법은 숫자를 사용하는 것이지만 기호도 이해해야 합니다. 따라서 먼저 파일 권한 뒤에 있는 기호를 살펴보겠습니다.

파일 권한 기호(File Permission Symbols)

터미널에 다음 명령을 입력하면 특정 디렉터리의 모든 콘텐츠에 대한 권한을 볼 수 있습니다.

ls -l

cd 명령 을 사용하여 모든 디렉토리로 이동할 수 있습니다 . 완전한 초보자라면 기본 Linux 명령(basic Linux commands) 에 대한 기사를 확인하십시오 .

이 예에서 디렉토리에는 두 개의 다른 디렉토리와 하나의 파일이 있습니다. 사용 권한은 (1+) 9개의 기호를 사용하여 작성되었으며 이해를 돕기 위해 3개로 나눌 수 있습니다. Books 디렉터리 에 대한 첫 번째 권한 집합을 살펴보겠습니다 .

drwxrwxr-x

가독성을 위해 분할해 보겠습니다.

d rwx rwx rx

첫 번째 기호는 d이며(d,) 디렉토리를 나타냅니다. Outline.docx 파일 에 대한 세 번째 권한 집합에서 볼 수 있듯이 파일인 경우 대시 기호가 될 수도 있습니다 .

다음으로 세 가지 기호 그룹이 있습니다. 첫 번째 그룹은 소유자의 권한 수준, 두 번째 그룹은 그룹(Group) 클래스, 세 번째 그룹은 기타를 나타냅니다.

각 3개의 기호 집합은 읽기, 쓰기, 실행을 의미합니다. 따라서 소유자 는 (Owner)Test 디렉터리 에 있는 모든 파일과 디렉터리를 읽고, 쓰고, 실행할 수 있는 권한이 있습니다 . 다음은 시각적 표현입니다.

r, w 또는 x 대신 대시 기호가 표시되면 권한이 존재하지 않는다는 의미입니다.

파일 권한 번호(File Permission Numbers)

파일 권한의 숫자 형식은 간단합니다. 본질적으로 파일 권한 코드는 세 자리 숫자로 되어 있습니다.

  • 첫 번째는 파일 소유자를 위한 것입니다.
  • 두 번째 것은 파일의 그룹을 나타냅니다.
  • 마지막 숫자는 다른 모든 사람을 위한 것입니다.

숫자 범위는 0에서 7 사이입니다.

  • 4 = 읽기.
  • 2 = 쓰기.
  • 1 = 실행합니다.
  • 0 = 권한이 없습니다.

각 클래스의 권한 숫자는 권한 값을 합산하여 결정됩니다. 즉, 각 클래스의 각 숫자는 4, 2, 1, 0의 합이 될 수 있습니다. 다음은 전체 권한 목록입니다.

  • 0 (0 + 0 + 0) = 사용자 클래스에 권한이 없습니다.
  • 1(0 + 0 + 1) = 실행(Execute) 권한만.
  • 2(0 + 2 + 0) = 쓰기(Write) 권한만.
  • 3 (0 + 2 + 1) = 쓰기(Write) 및 실행 권한.
  • 4 (4 + 0 + 0) = 읽기(Read) 권한만.
  • 5 (4 + 0 + 1) = 읽기(Read) 및 실행 권한.
  • 6(4 + 2 + 0) = 읽기(Read) 및 쓰기 권한.
  • 7(4 + 2 + 1) = 모든 권한.

예를 들어, 644 권한은 파일 소유자에게 읽기 및 쓰기 권한이 있는 반면 다른 두 클래스는 읽기 권한만 있음을 의미합니다. 숫자 형식을 사용하여 권한을 설정하려면 기본 수학만 필요합니다.

허가 777

이미 짐작하셨겠지만 777 권한은 세 가지 사용자 클래스 모두에 읽기, 쓰기 및 실행 권한을 부여합니다. 즉, 시스템에 액세스할 수 있는 모든 사람이 파일을 읽고, 수정하고, 실행할 수 있습니다. 모든 사용자를 신뢰하고 보안 침해에 대해 걱정할 필요가 없는 경우에만 사용하십시오.

권한 777은 편리하기 때문에 자주 사용되지만 아껴서 사용해야 합니다. 실제로 보안 위험이 너무 크기 때문에 사용하지 않는 것이 좋습니다. 승인되지 않은 사용자가 시스템을 손상시키거나 예를 들어 웹사이트를 변경하여 맬웨어를 배포할 수 있습니다.

대신 권한 755를 부여해야 합니다. 그렇게 하면 파일 소유자인 귀하는 특정 파일 또는 디렉토리에 대한 전체 액세스 권한을 가지며 다른 모든 사람은 읽고 실행할 수 있지만 귀하의 승인 없이는 수정할 수 없습니다.

Chmod 로 (Chmod)파일(File) 권한 수정 하기

chmod 명령을 사용하여 파일 권한을 변경할 수 있습니다. 다른 변수 없이 이 명령을 사용하는 가장 기본적인 방법은 다음과 같습니다.

chmod 777 파일 이름(chmod 777 filename)

(Replace “)" filename"을 파일 이름과 경로로 바꿉니다 .

파일 권한을 변경할 수 있는 권한이 있는 사용자는 루트 액세스 권한이 있는 사용자, 파일 소유자 및 sudo 권한이 있는 모든 사용자뿐입니다.



About the author

저는 Edge 경험이 있는 숙련된 Windows 10 및 Windows 11/10 관리자입니다. 저는 이 분야에서 제공할 수 있는 풍부한 지식과 경험을 가지고 있습니다. 그렇기 때문에 제 기술이 귀사에 귀중한 자산이 될 것이라고 생각합니다. Windows 10과 Edge 모두에서 다년간의 경험을 통해 새로운 기술을 빠르게 배우고 문제를 신속하게 해결하며 비즈니스 운영에 대한 책임을 질 수 있습니다. 또한 Windows 10 및 Edge에 대한 경험을 통해 운영 체제의 모든 측면에 대해 매우 잘 알고 있으므로 서버 관리 또는 소프트웨어 응용 프로그램 관리에 도움이 될 것입니다.



Related posts