리눅스 권한 퍼미션 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

파일 및 디렉토리 권한

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

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

권한 확인

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

ls -l 명령

ls-l-명령
ls l 명령

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

ls -l
옵시디언 Obsidian 링크 형식 변경하기

ls -la 명령

ls-la-명령
ls la 명령

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

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

파일 퍼미션 표기법

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

nginx service Failed to parse PID from file 오류 해결 방법

파일 유형

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

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

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

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

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

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

  • 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이 됩니다.

Windows 파일 탐색기 실행하는 법

하드링크

하드링크-수
하드링크 수

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

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

소유자 소유 그룹

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

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

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

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

예를 들어

  • drwxrwxrwx의 경우, ubuntu 사용자가 이 파일 또는 디렉토리의 소유자이며, ubuntu 그룹에 속해 있음을 나타냅니다.
  • 따라서 이 파일 또는 디렉토리에 대한 권한 조정은 ubuntu 사용자와 ubuntu 그룹에 대해서만 적용됩니다.
  • 다른 사용자들에 대한 권한은 따로 지정되어 있어야 합니다.
토르 브라우저 다운로드 설치 하는 방법 과 사용시 주의점

소유자및 권한 변경하기

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

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

소유자 변경

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

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

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

sudo chown newuser example.txt
Google 검색 결과의 스팸 사이트 안보이게 차단하는 방법들

권한 변경

파일 또는 디렉토리의 권한을 변경하려면 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