새로운 리눅스 사용자 이라면 아마도 초기 어느 시점에 Chmod 명령을 접했을 것입니다. 아마도 누군가가 파일을 특정 폴더로 이동하려면 "chmod 777"을 지시했을 것입니다. 그러면 chmod 명령은 무엇을 하며 숫자는 무엇을 의미합니까?
이 문서에서는 Linux 파일 권한에 대해 알아야 할 모든 내용을 설명합니다. chmod 명령과 특정 액세스 수준에 해당하는 숫자를 이해하려면 이를 아는 것이 중요합니다. 우분투, Fedora 또는 좀 더 이국적인 리눅스 배포판 를 사용하든 CHMOD 명령을 사용하여 권한을 777로 설정해도 괜찮은 경우와 다른 설정을 사용해야 하는 경우를 이해해야 합니다.
Linux 파일 권한 작동 방식
Linux에서는 운영 체제가 파일 권한, 소유권, 속성을 기반으로 특정 파일에 액세스할 수 있는 사람을 결정합니다. 시스템을 사용하면 소유자 또는 관리자가 다양한 파일 및 디렉터리에 대한 액세스 제한을 활성화할 수 있습니다. 신뢰할 수 있는 사용자와 프로그램에만 액세스 권한을 부여하여 시스템 보안을 강화할 수 있습니다.
사용자 클래스 이해
특정 사용자와 그룹이 모든 단일 파일과 디렉터리를 소유합니다. 이는 특정 수준의 액세스 권한을 할당할 수 있는 세 가지 범주의 사용자 가 있음을 의미합니다. 이러한 사용자는 다음과 같이 분류됩니다:
디렉터리를 마우스 오른쪽 버튼으로 클릭하고 속성 을 선택한 다음 권한 탭으로 이동하면 Ubuntu에서 이러한 그룹을 시각적으로 볼 수 있습니다.
주인은 모든 권력을 가진 사람입니다. 일반적으로 이들은 모든 파일과 디렉터리에 대한 전체 액세스 권한을 가지며 다른 사용자의 파일 권한도 변경할 수 있습니다.
그룹은 소유자가 부여한 파일이나 디렉토리에 대한 특정 수준의 액세스 권한을 가진 다수의 사용자로 구성됩니다. 예를 들어, 해당 파일을 볼 수 있는 액세스 권한을 부여받는 동안 특정 사용자 그룹이 파일 수정에서 제외될 수 있습니다.
Others 클래스는 단순히 다른 두 범주에 속하지 않는 게스트 사용자를 나타냅니다. 기본적으로 액세스 수준은 일반적으로 제한됩니다. 게스트 사용자가 무엇을 할 수 있고 할 수 없는지를 결정하는 것은 소유자의 몫입니다.
파일 권한 수준 이해
.소유자는 파일 및 디렉터리에 대한 세 가지 수준의 액세스 권한을 할당할 수 있습니다.
클래스와 권한을 결합하면 특정 사용자가 파일이나 디렉터리에 대해 갖는 액세스 권한을 제어할 수 있습니다.
권한 기호 및 숫자 설명
파일 권한은 숫자 또는 기호로 표시됩니다. 기호와 숫자를 모두 사용하여 파일 및 디렉터리 권한을 변경할 수 있습니다. 가장 쉬운 방법은 숫자를 사용하는 것이지만 기호도 이해해야 합니다. 먼저 파일 권한 뒤에 있는 기호를 살펴보겠습니다.
파일 권한 기호
터미널에 다음 명령을 입력하면 특정 디렉터리에 있는 모든 콘텐츠에 대한 권한을 볼 수 있습니다.
ls -l
cd명령을 사용하면 모든 디렉터리로 이동할 수 있습니다. 완전히 초보자라면 기본 리눅스 명령어 에 대한 기사를 확인하세요.
이 예에서 디렉터리에는 두 개의 다른 디렉터리와 하나의 파일이 포함되어 있습니다. 권한은 더 쉽게 이해할 수 있도록 세 개로 나눌 수 있는 (1+) 9 기호를 사용하여 작성됩니다. Books 디렉토리에 대한 첫 번째 권한 세트를 살펴보겠습니다.
drwxrwxr-x
가독성을 위해 분할해 보겠습니다.
d rwx rwx r-x
첫 번째 기호는 d 이며 디렉토리를 의미합니다. 아웃라인.docx 파일에 대한 세 번째 권한 세트에서 볼 수 있듯이 파일인 경우 대시 기호일 수도 있습니다.
다음으로 세 가지 기호 그룹이 있습니다. 첫 번째 그룹은 소유자의 권한 수준을 나타내고, 두 번째 그룹은 그룹 클래스, 세 번째 그룹은 기타를 나타냅니다..
각 3개 기호 세트는 읽기, 쓰기, 실행을 순서대로 의미합니다. 따라서 소유자는 Test 디렉터리 내에 있는 모든 파일과 디렉터리를 읽고, 쓰고, 실행할 수 있는 권한을 갖습니다. 시각적 표현은 다음과 같습니다.
r, w, x 대신 대시 기호가 표시되면 권한이 존재하지 않는다는 의미입니다.
파일 권한 번호
파일 권한의 숫자 형식은 간단합니다. 본질적으로 파일 권한 코드는 세 자리 숫자로 구성됩니다:
숫자 범위는 0부터 7까지입니다.
각 클래스의 권한 숫자는 권한 값을 합산하여 결정됩니다. 즉, 각 클래스의 각 숫자는 4, 2, 1, 0의 합이 될 수 있습니다. 전체 권한 목록은 다음과 같습니다.
예를 들어 644 권한은 파일 소유자가 읽기 및 쓰기 권한을 갖고 있는 반면 다른 두 클래스는 읽기 권한만 가지고 있음을 의미합니다. 숫자 형식을 사용하여 권한을 설정하려면 기본적인 수학만 필요합니다.
권한 777
아마도 짐작하셨겠지만 777 권한은 세 가지 사용자 클래스 모두에 읽기, 쓰기, 실행 권한을 부여합니다. 즉, 시스템에 액세스할 수 있는 사람은 누구나 파일을 읽고, 수정하고, 실행할 수 있습니다. 모든 사용자를 신뢰하고 보안 위반에 대해 걱정할 필요가 없는 경우에만 사용하세요.
권한 777은 편리하기 때문에 자주 사용되지만 아껴서 사용해야 합니다. 실제로 보안 위험이 너무 크기 때문에 절대 사용하지 않는 것이 좋습니다. 승인되지 않은 사용자가 시스템을 손상시키거나 예를 들어 웹사이트를 변경하여 악성 코드를 배포할 수 있습니다..
대신 755 권한을 부여해야 합니다. 이렇게 하면 파일 소유자로서 귀하는 특정 파일이나 디렉터리에 대한 전체 액세스 권한을 갖고, 다른 모든 사람은 읽고 실행할 수 있지만 귀하의 승인 없이는 수정할 수 없습니다.
Chmod로 파일 권한 수정
chmod 명령을 사용하여 파일 권한을 변경할 수 있습니다. 다른 변수 없이 이 명령을 사용하는 가장 기본적인 방법은 다음과 같습니다.
chmod 777 파일 이름
'filename'을 파일 이름과 경로로 바꾸세요.
파일 권한을 변경할 권한이 있는 유일한 사용자는 루트 액세스 권한이 있는 사용자, 파일 소유자 및 sudo 권한이 있는 모든 사람이라는 점을 명심하세요.
.