리눅스 권한 퍼미션 chmod chown rwxrwxrwx

파일 및 디렉토리의 권한은 시스템 보안을 유지하고 데이터를 보호하며 사용자 간의 데이터 격리와 관리 편의성을 제공합니다. 이러한 이유로 파일 및 디렉토리 권한은 운영 체제의 중요한 부분이며 시스템 및 데이터의 안전성을 보장하는 데 중요합니다. Windows에서는 NTFSNew Technology File System 파일 시스템을 사용하며, 파일 및 디렉토리의 권한을 관리하기 위해 ACLAccess Control List을 사용합니다. 각 파일 및 디렉토리에는 사용자 및 그룹에 대한 권한 정보가 포함되어 있으며, 사용자 또는 그룹에 대한 읽기, 쓰기, 실행 및 기타 권한을 정의할 수 있습니다.

macOS와 LinuxUNIX 기반 운영 체제로, 파일 및 디렉토리 권한을 UNIX 스타일의 퍼미션Permission 시스템을 통해 관리합니다. 각 파일 및 디렉토리에는 소유자, 그룹 및 기타 사용자에 대한 읽기, 쓰기 및 실행 권한이 부여됩니다. Windows는 그래픽 환경에서 권한 관리가 주로 이루어지며 사용자가 상대적으로 쉽게 파일 및 디렉토리 권한을 설정할 수 있습니다. 그러나 macOS와 Linux는 주로 명령 줄 인터페이스(Command Line Interface, CLI)를 통해 권한을 관리하는 경우가 많습니다. 이로 인해 처음에는 어려움을 겪을 수 있지만, 익숙해지면 강력한 권한 관리가 가능합니다.

아래 설명은 comeinsidebox.com 에서 테스트 및 검증 후 작성 된 내용이지만 이것이 본문의 내용의 정확성이나 신뢰성에 대해 보증을 하는 것은 아니니 단순 하게 참고용으로 확인바랍니다.

튜토리얼 환경: Ubuntu 22.04

파일 및 디렉토리 권한

파일 및 디렉토리 권한은 시스템의 보안을 유지하기 위한 중요한 요소입니다. 권한을 사용하면 사용자가 파일과 디렉토리에 무단으로 접근하거나 수정하는 것을 방지할 수 있습니다. 이를 통해 민감한 정보나 시스템 파일을 보호할 수 있습니다.

  • 권한은 파일 및 디렉토리 간의 데이터 격리를 유지하는 데 도움을 줍니다. 각 사용자 또는 그룹은 자신의 디렉토리 및 파일에만 접근할 수 있으므로 데이터 누출 또는 오용을 방지할 수 있습니다.
  • 파일 및 디렉토리 권한은 파일 및 디렉토리의 소유자 및 그룹을 관리하는 데 도움이 됩니다. 이를 통해 여러 사용자가 동일한 시스템에서 작업하는 경우에도 파일 및 디렉토리의 엑세스를 조정하고 추적할 수 있습니다.
  • 권한은 시스템 안정성을 유지하기 위한 중요한 요소입니다. 예를 들어, 시스템 파일의 권한을 잘못 변경하면 시스템이 정상적으로 동작하지 않을 수 있으므로 권한을 올바르게 유지하는 것이 중요합니다.
  • 다중 사용자 환경에서 각 사용자에게 독립적인 작업 환경을 제공하기 위해 권한을 사용합니다. 각 사용자는 자신의 디렉토리 및 파일에만 접근할 수 있으며 다른 사용자의 데이터에는 액세스할 수 없습니다.
Windows 시스템 보호 복원 지점 생성 간격을 24시간 보다 줄이는 방법

권한 확인

ls 명령을 사용하면 파일 및 디렉토리 목록을 표시할 수 있습니다. 주로 Linux와 Unix 기반 운영체제에서 사용되며 현재 작업 디렉토리의 파일과 하위 디렉토리를 나열하는 데 사용됩니다. 이 중에서 다음 방식으로 사용하면 대상 파일과 디렉토리의 목록에 권한까지 모두확인할 수 있습니다.

ls -l 명령

ls-l-명령
ls l 명령

자세한 목록을 표시하며 일반 파일과 디렉토리에 대한 정보를 보고 싶은 경우 ls -l 와 대상 을 지정합니다.

ls -l
구글 지메일 '보안 수준이 낮은 앱의 액세스' 사용 설정

ls -la 명령

ls-la-명령
ls la 명령

-l 옵션과 함께 -a 옵션을 사용하여 숨김 파일과 디렉토리까지 포함하여 자세한 목록을 표시합니다.

ls -la
참고: 이 옵션외에도 다양한 옵션들이 존재하지만 권한관련 내용과 무관하여 위 두 가지 명령만 안내합니다.

파일 퍼미션 표기법

이 방식은 파일 및 디렉토리의 권한을 나타내는 파일 퍼미션 표기법입니다. 이 표기법은 Linux 및 Unix 기반 시스템에서 사용되며 파일 또는 디렉토리에 대한 권한을 나타내기 위해 사용됩니다. 각 문자열은 특정 권한을 나타내며, 이를 조합하여 해당 파일 또는 디렉토리의 전체 권한을 표현합니다.

Windows에서 작업 관리자를 실행하는 방법들

파일 유형

파일-퍼미션-확인-가능
파일 퍼미션 확인 가능

위 명령으로 파일의 권한을 확인하면 다른 항목들은 처음 보더라도 대충 이해가 가는데 이 좌측의 이상한 기호와 알파벳은 감을 잡을 수 가 없습니다.

대상-항목-유형
대상 항목 유형

첫 번째 문자는 파일 형식을 나타냅니다.

  • d는 디렉토리를 나타냅니다.
  • -는 파일을 나타냅니다.
  • l은 심볼릭 링크1를 나타냅니다.

좀 더 디테일하게 알아보면,

  • drwxrwxrwx는 디렉토리를 나타내며, 소유자, 그룹 및 기타 모든 사용자가 읽기, 쓰기 및 실행 권한을 가지고 있는 것을 의미합니다.
  • -wxrwxrwx는 일반 파일을 나타내며, 소유자만 읽기 권한이 없고 그룹과 기타 사용자는 읽기, 쓰기 및 실행 권한을 가지고 있는 것을 나타냅니다.
  • lrwxrwxrwx는 심볼릭 링크를 나타냅니다. 이는 다른 파일 또는 디렉토리를 가리키는 링크 파일로, 실행 권한만 있는 것을 의미합니다.
참고: 심볼릭 링크(심링크)의 권한 표기에는 다소 차이가 있습니다. 일반적으로 심볼릭 링크는 실행 권한(x)만을 가지며, 읽기(r)와 쓰기(w) 권한은 별 의미가 없습니다. 이 규칙은 대부분의 경우에 적용되지만, 파일의 실제 소유자나 그룹과 관련하여 일부 예외 상황이 있을 수 있습니다.

소유자 그룹 사용자의 권한

그룹별 권한
그룹별 권한

각 그룹은 다음과 같이 나뉩니다.

소유자(Owner)

  • 파일 또는 디렉토리를 만든 사용자를 나타냅니다.
  • 소유자는 해당 파일 또는 디렉토리에 대한 모든 권한을 가집니다.
  • 소유자만이 파일의 권한을 변경하거나 삭제할 수 있습니다.

그룹(Group)

  • Linux에서는 사용자를 여러 그룹에 속할 수 있으며, 그룹은 사용자들을 논리적으로 그룹화하는 데 사용됩니다.
  • 파일 또는 디렉토리는 소유자 이외의 그룹에 속할 수 있습니다.
  • 그룹 멤버들은 해당 그룹에 속한 파일 또는 디렉토리에 대한 권한을 공유합니다. 다른 그룹 멤버들이 해당 파일에 대한 권한을 변경하거나 삭제할 수 없습니다.

사용자(Other)

  • 사용자와 그룹에 속하지 않은 모든 사용자를 의미합니다.
  • Other 권한은 파일 또는 디렉토리에 대한 일반 사용자의 권한을 제어합니다.
  • Other는 소유자와 그룹 외부의 사용자에게 적용됩니다.
읽기 쓰기 실행 권한
읽기 쓰기 실행 권한

각 권한은 다음과 같이 나타낼 수 있습니다.

  • r은 읽기(read) 권한을 나타냅니다. 파일을 읽을 수 있음을 의미합니다.
  • w는 쓰기(write) 권한을 나타냅니다. 파일에 쓸 수 있음을 의미합니다.
  • x는 실행(execute) 권한을 나타냅니다. 실행 가능한 파일인 경우 해당 파일을 실행할 수 있음을 의미합니다.

권한 표기법에서 각 권한(r, w, x)은 숫자로도 나타낼 수 있습니다. 이것을 숫자 권한 표기법이라고 합니다.

권한 숫자 표기
권한 숫자 표기

숫자 권한 표기법은 각 권한(r, w, x)을 각각 숫자로 대응시켜 나타내며, 이러한 숫자들은 8진수로 표현됩니다.

  • r (읽기)는 숫자 4로 대응합니다.
  • w (쓰기)는 숫자 2로 대응합니다.
  • x (실행)는 숫자 1로 대응합니다.
  • -은 권한이 없다는 것을 나타내며 0으로 대응합니다.

각 권한 그룹(rwx)의 숫자 표현을 더 알아보면 다음과 같습니다.

  • r--는 숫자로 나타내면 4입니다.
  • rw-는 숫자로 나타내면 6입니다.
  • r-x는 숫자로 나타내면 5입니다.
  • rwx는 숫자로 나타내면 7입니다.
숫자-표기-산식-예시
숫자 표기 산식 예시

파일 또는 디렉토리의 권한은 소유자, 그룹, 다른 사용자에 대해 각각 숫자로 표현됩니다. 예를 들어, rwxr--rw-는 숫자 권한 표기법으로 나타내면 746이 됩니다.

아이폰 특정 사진 가리기 숨기기 방법 과 가리기 폴더 제거하기

하드링크

하드링크-수
하드링크 수

권한 뒤의 숫자는 하드 링크 수를 나타냅니다. 이 숫자는 해당 파일 또는 디렉토리가 현재 디렉토리 내에서 몇 개의 하드 링크를 가지고 있는지를 나타냅니다. 위 이미지를 예로 2라는 숫자는 해당 파일 또는 디렉토리가 현재 위치에서 두 개의 하드 링크를 가지고 있다는 것을 나타냅니다. 이것은 같은 파일 또는 디렉토리에 대한 다른 이름 또는 참조가 두 개 있다는 것을 의미합니다.

  • 하드 링크는 동일한 파일 또는 디렉토리에 대한 추가 참조를 만드는 방법입니다.
  • 즉, 동일한 내용을 가진 파일 또는 디렉토리에 대한 다른 이름을 만들 수 있습니다.
  • 하드 링크를 생성하면 원본 파일 또는 디렉토리와 하드 링크 간에는 데이터의 실제 복사가 이루어지지 않고, 동일한 데이터 블록을 가리키는 참조만 생성됩니다.
  • 따라서 하드 링크를 통해 여러 파일 이름으로 동일한 데이터에 액세스할 수 있습니다.

소유자 소유 그룹

파일-또는-디렉터리의-소유자-및-소유그룹
파일 또는 디렉터리의 소유자 및 소유그룹

하드 링크 값 오른쪽에 위치한 항목인 ubuntu ubuntu는 해당 파일 또는 디렉토리의 소유자와 소유 그룹을 나타냅니다. 이 정보는 파일 또는 디렉토리가 어떤 사용자와 어떤 그룹에 속해 있는지를 나타냅니다.

  • 첫 번째 ubuntu는 파일 또는 디렉토리의 소유자(Owner)를 나타냅니다. 이 파일 또는 디렉토리를 만든 사용자의 이름입니다.
  • 두 번째 ubuntu는 파일 또는 디렉토리의 소유 그룹(Group)을 나타냅니다. 이 파일 또는 디렉토리가 속한 그룹의 이름입니다.

이 정보는 파일 또는 디렉토리의 권한 관리와 관련이 있습니다. 파일 또는 디렉토리의 소유자는 해당 파일에 대한 읽기, 쓰기 및 실행 권한을 조정하고 다른 사용자에게 대한 권한을 부여하거나 제한할 수 있습니다. 그리고 소유 그룹은 일부 권한을 공유하는 사용자 그룹을 나타냅니다.

예를 들어

  • drwxrwxrwx의 경우, ubuntu 사용자가 이 파일 또는 디렉토리의 소유자이며, ubuntu 그룹에 속해 있음을 나타냅니다.
  • 따라서 이 파일 또는 디렉토리에 대한 권한 조정은 ubuntu 사용자와 ubuntu 그룹에 대해서만 적용됩니다.
  • 다른 사용자들에 대한 권한은 따로 지정되어 있어야 합니다.
리눅스 ls 명령으로 파일 디렉토리 정보 확인하기

소유자및 권한 변경하기

소유자와 권한을 변경하는 것은 Linux 및 UNIX 기반 시스템에서 매우 중요한 작업 중 하나입니다. 파일 및 디렉토리의 소유자 및 권한을 변경하여 보안을 강화하고 파일 및 디렉토리에 대한 접근을 제어할 수 있습니다.

참고: 권한을 변경하거나 소유자를 변경할 때 sudo를 사용하여 관리자 권한으로 실행해야 합니다. sudo 알아보기

소유자 변경

파일 또는 디렉토리의 소유자를 변경하려면 chown 명령어를 사용합니다. chown 명령어는 다음과 같은 형식을 가집니다. 예를 들어, 웹 서버를 운영하는 경우, 웹 페이지 및 애플리케이션 파일에 대한 권한을 관리합니다. 웹 서버의 실행 사용자(예: www-data 또는 apache)에게는 파일을 읽고 실행할 권한이 주어야 하며, 웹 개발자 그룹에는 파일을 수정할 수 있는 쓰기 권한이 주어집니다. 이를 통해 웹 애플리케이션을 관리하고 업데이트할 수 있습니다.

sudo chown [새로운소유자]:[새로운그룹] [파일 또는 디렉토리]
  • 새로운소유자는 파일 또는 디렉토리의 새로운 소유자의 이름이나 사용자 ID입니다.
  • 새로운그룹은 파일 또는 디렉토리의 새로운 그룹의 이름이나 그룹 ID입니다.
  • [파일 또는 디렉토리]는 소유자를 변경하려는 대상 파일 또는 디렉토리의 경로입니다.

예를 들어, 파일 example.txt의 소유자를 newuser로 변경하려면 다음과 같이 실행할 수 있습니다.

sudo chown newuser example.txt
윈도우10 구 버전 ISO 이미지 파일 다운로드하는 방법

권한 변경

파일 또는 디렉토리의 권한을 변경하려면 chmod 명령어를 사용합니다. chmod 명령어는 파일 또는 디렉토리에 대한 읽기(r), 쓰기(w), 실행(x) 권한을 설정 또는 제거하는 데 사용됩니다.

중요: 시스템 파일등 중요한 파일에 대한 읽기 및 쓰기 권한을 무단 액세스로부터 보호하기 위해 최소한의 권한만 부여합니다.

chmod 명령

chmod 명령어는 다음과 같은 형식을 가집니다.

sudo chmod [권한] [파일 또는 디렉토리]
  • [권한]은 권한을 설정하기 위한 숫자로 표현됩니다. 이러한 숫자는 3자리로 구성되며, 각 자리는 다음과 같은 의미를 가집니다.
    • 첫 번째 자리: 소유자에 대한 권한
    • 두 번째 자리: 그룹에 대한 권한
    • 세 번째 자리: 기타 사용자에 대한 권한
  • [파일 또는 디렉토리]는 권한을 변경하려는 대상 파일 또는 디렉토리의 경로입니다.

권한은 다음과 같이 설정할 수 있습니다.

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

Symbolic 방식

Symbolic 방식을 사용해 권한을 수정할 수 있습니다. 이 방식은 chmod 명령 다음에 u, g, o와 같은 문자를 사용하여 각 권한 그룹을 지정합니다. 그런 다음 +, -, =와 같은 연산자를 사용하여 권한을 추가, 제거 또는 설정합니다. 예를 들어 chmod u+x example.txt는 "소유자에게 example.txt 파일의 실행 권한을 추가한다"라고 읽을 수 있습니다.

sudo chmod [권한] [파일 또는 디렉토리]

[권한]은 권한을 설정하기 위한 문자열로 표현됩니다. 권한 문자열은 다음과 같이 구성됩니다.

  • u (소유자)
  • g (그룹)
  • o (다른 사용자)
  • + (추가)
  • - (제거)
  • = (설정)
  • r (읽기 권한)
  • w (쓰기 권한)
  • x (실행 권한)

예를 들어, 파일 example.txt에 대한 소유자의 읽기와 쓰기 권한을 설정하려면 다음과 같이 실행할 수 있습니다.

sudo chmod u+rw example.txt

위 명령은 파일 example.txt의 소유자에게 읽기(r)와 쓰기(w) 권한을 부여합니다.

Absolute (Octal) 방식

Absolute (Octal) 방식은 파일과 디렉토리의 권한을 설정하는 데 사용되는 방법 중 하나로, 주로 Unix와 Linux 같은 운영 체제에서 사용됩니다. 이 방식에서 권한은 3자리의 8진수 (octal) 숫자로 표현됩니다. 전술한 대로 읽기(r) 권한은 4, 쓰기(w) 권한은 2, 실행(x) 권한은 1로 표현됩니다. 읽기와 쓰기 권한을 모두 부여하려면 6(4+2)으로 설정할 수 있습니다. 개인적으로 이 방식이 간편해서 선호합니다.

sudo chmod 600 example.txt

이 명령은 파일 example.txt의 소유자에게 읽기(r)와 쓰기(w) 권한을 설정합니다.

관련 글

댓글로 남기기 어려운 내용은 Contact Form 에서 개별적으로 문의 할 수 있습니다. 해당 글과 연관 된 내용은 Copy를 이용해 현재 페이지의 주소를 복사 후 문의 폼에 입력시 보다 정확한 답을 얻을 수 있습니다.

Leave a Comment