Linux chmod 명령은 파일 및 디렉터리의 액세스 권한을 변경하는 데 사용됩니다. 그것은 다음을 의미합니다. 모드 변경 . 심볼릭 링크의 권한은 변경할 수 없습니다. 심지어 재귀적 디렉터리 탐색을 통해 나타나는 기호 링크도 무시합니다.
에서 리눅스 파일 시스템에서 각 파일은 특정 소유자와 연결되어 있으며 다양한 사용자에 대한 액세스 권한을 갖습니다. 사용자 클래스는 다음과 같습니다.
- 소유자
- 그룹 멤버
- 기타(다른 모든 사람)
Linux의 파일 권한은 다음 세 가지 유형입니다.
- 읽기 (r)
- 쓰다 (w)
- 실행(x)
Chmod의 간략한 역사
첫째, chmod 명령은 AT&T UNIX 버전 1에서 chmod 시스템 호출로 표현됩니다. 액세스 제어 목록은 시스템 유형과 사용자 수가 증가했기 때문에 유연성을 높이기 위해 이러한 가장 일반적인 모드를 포함하여 여러 파일 시스템에 포함되었습니다.
GNU coreutils에 정리된 chmod 버전은 Jim Meyering과 David MacKenzie가 지정했습니다. 이 명령은 기본 GNU Unix 유사 유틸리티의 UnxUtils 기본 Win32 포트 컬렉션의 요소로 Microsoft Windows용 격리 패키지로 제공됩니다. 또한 chmod 명령이 IBM i OS에 제공되었습니다.
chmod 명령을 사용하여 파일 권한을 변경하는 방법을 살펴보겠습니다.
통사론:
센토스 vs 레드햇
chmod 명령의 기본 구문은 다음과 같습니다.
chmod
일반적으로 구현되는 옵션은 다음과 같습니다.
심볼릭 링크가 언급되면 대상 개체가 영향을 받습니다. 심볼릭 링크 자체와 직접 관련된 파일 모드는 일반적으로 사용되지 않습니다.
chmod 권한의 주요 구성요소:
예를 들어, rwxr-x---
세 문자로 구성된 모든 그룹은 모든 클래스에 대한 권한을 지정합니다.
옵션:
chmod 명령은 다음 명령줄 옵션을 지원합니다.
-c, --변경 사항: verbose 옵션과 유사하지만, 변경 사항이 있을 경우 보고된다는 차이점이 있습니다.
-f, --silent, --quiet: 오류 메시지를 표시하지 않는 데 사용됩니다.
-v, --verbose: 처리된 모든 파일에 대한 진단을 표시하는 데 사용됩니다.
--no-보존-루트: 특히 백슬래시 기호('/')를 처리하지 않는 데 사용됩니다(기본값).
--보존 루트: 이 옵션을 사용하면 백슬래시('/')에 대해 재귀적으로 동작하지 않습니다.
--reference=RFILE: RFILE의 모드 대신 MODE 값을 지정하는 데 사용됩니다.
-R, --재귀: 파일과 디렉터리를 재귀적으로 변경하는 데 사용됩니다.
--돕다: 사용법과 지원 옵션에 대한 간략한 설명이 포함된 도움말 매뉴얼을 표시하는 데 사용됩니다.
--버전: 버전 정보를 표시하는데 사용됩니다.
객체를 문자열로 변환
파일 권한 구문
새로운 사용자라면 파일 권한을 설정하는 데 사용되는 다양한 문자 유형에 대해 혼동을 느낄 수 있습니다. 따라서 chmod 명령을 계속 진행하기 전에 파일 권한 구문을 이해해 봅시다.
파일이나 디렉터리의 권한을 설정하려면 다음 사항을 지정해야 합니다.
- 누구: 우리는 누구입니까? (사용자)
- 무엇: 어떤 변경을 하려고 합니까(예: 권한 추가 또는 제거)?
- 어느 것: 어떤 권한이 있나요?
권한 설명은 u+x, u-x와 같은 표시기로 표시됩니다. 여기서 'u'는 '사용자', '+'는 추가, '-'는 제거, 'x'는 실행 파일(어떤)을 의미합니다.
크롬 주소 표시줄
사용자 값은 다음과 같습니다.
u: 파일의 소유자
g: 그룹 멤버
오: 기타
가: 모두
권한 유형은 r, w, x일 수 있습니다.
권한 설정 및 업데이트
파일의 권한을 설정하려면 chmod 명령을 사용하여 권한 설명을 실행하십시오. 예를 들어 'Demo.txt' 파일의 모든 사용자 및 그룹에 대한 읽기 및 쓰기 권한을 설정하려고 합니다. chmod 명령을 사용하여 'u=rw,go=rw Demo.txt' 권한 설명을 전달해야 합니다. 파일 권한을 표시하려면 아래 명령을 실행하십시오.
ls -l Demo.txt
위 명령은 'Demo.txt' 파일에 대한 파일의 현재 파일 권한을 표시합니다.
권한을 변경하려면 아래 명령을 실행하십시오.
chmod u=rw,go=rw Demo.txt
아래 출력을 고려하십시오.
위 출력에서 'Demo.txt'의 접근 권한이 변경되었습니다.
여러 파일에 대한 권한 설정
chmod 명령을 사용하여 한 번에 여러 파일에 대한 권한을 설정할 수 있습니다. 여러 파일의 파일 권한을 변경하려면 chmod 명령을 사용하여 파일 패턴을 지정합니다. 예를 들어 모든 텍스트 파일에 대한 읽기 및 쓰기 권한을 설정하려면 *. chmod 명령을 사용하여 txt 패턴을 만듭니다.
현재 작업 디렉토리의 모든 텍스트 파일에 대한 권한을 보려면 아래 명령을 실행하십시오.
ls -l *.txt
권한 모드와 함께 모든 텍스트 파일이 나열됩니다. 아래 출력을 고려하십시오.
위 출력에서 많은 파일에는 다른 사용자에 대한 읽기 권한만 있습니다.
다른 사용자의 읽기 및 쓰기 권한을 설정하려면 아래 명령을 실행하십시오.
chmod o+w *.txt
텍스트 파일의 다른 사용자에 대한 읽기 및 쓰기 권한을 설정합니다. 아래 출력을 고려하십시오.
숫자 속기
문자 대신 숫자 값을 사용하여 권한을 지정할 수 있습니다. 세 자리 값은 권한을 지정하는 데 사용됩니다. 가장 왼쪽 숫자는 소유자(u)를 나타내고, 가운데 숫자는 그룹 구성원(g)을 나타냅니다. 가장 오른쪽 숫자는 나머지 숫자(o)를 나타냅니다.
다음 표는 숫자와 해당 권한을 나타냅니다.
숫자 | 권한 |
---|---|
000 | 비허가 |
001 | 실행 권한 |
010 | 쓰기 권한 |
011 | 쓰기 및 실행 권한 |
100 | 읽기 권한 |
101 | 읽기 및 실행 권한 |
110 | 읽기 및 쓰기 권한 |
111 | 읽기, 쓰기, 실행 권한 |
기호 모드
또한 chmod 명령은 특정 모드 변경을 허용하는 보다 세분화된 기호 표기법을 허용합니다. 기호 모드는 병합되어 단일 텍스트 문자열을 형성하는 세 가지 요소로 구성됩니다.
$ chmod [references] [operator] [modes] file...
chmod 프로그램은 연산자를 적용하여 파일 모드를 정렬하는 방법을 정의합니다. 아래 운영자가 승인되었습니다.
xampp 대안
운영자 | 설명 | |
---|---|---|
+ | 설명된 클래스에 설명된 항목을 추가합니다. | |
- | 설명된 클래스에서 설명된 모드를 제거합니다. | |
= | 설명된 모드가 설명된 클래스에 대해 동일한 모드로 생성됨을 나타냅니다. |
모드는 설명된 클래스에서 제거되거나 부여될 권한을 나타냅니다. 공통 권한과 관련된 세 가지 공통 모드는 주로 다음과 같습니다.
이름 | 방법 | 설명 |
---|---|---|
읽다 | 아르 자형 | 파일을 읽거나 디렉토리의 내용을 나열합니다. |
쓰다 | ~ 안에 | 디렉터리나 파일에 씁니다. |
실행하다 | 엑스 | 디렉터리 트리를 반복하거나 파일을 실행합니다. |
특별 처형 | 엑스 | 권한은 아니지만 x 대신 사용할 수 있습니다. 현재 권한에도 불구하고 디렉터리에 대한 실행 권한을 사용하고 최소한 실행 권한 비트가 설정된 파일에 대한 실행 권한을 사용합니다. chmod -R a+rx .를 사용한 경우 발생하는 실행 권한을 설정하지 않고 '+' 연산자와 함께 사용하면 유용하지만 chmod -R a+rx를 구현할 수 있습니다. 오히려 x로. |
여러 수정 사항은 여러 기호 모드를 쉼표와 함께 분리하여 설명할 수 있습니다. chmod 명령은 다음을 검사합니다. 우마스크 사용자가 지정되지 않은 경우.
특수 모드
또한 chmod 명령은 디렉토리나 파일의 특수 모드와 추가 권한을 변경할 수 있습니다. 기호 모드는 setgid 및 setuid 모드를 나타내기 위해 's'를 적용하고 고정 모드를 나타내기 위해 't'를 적용합니다. 다른 클래스가 언급되었는지 여부에 관계없이 모드는 올바른 클래스에만 사용됩니다.
거의 모든 운영 체제는 숫자상으로 특수 모드 사양, 특히 8진수를 지원하지만 일부 운영 체제는 지원하지 않습니다. 이러한 시스템에는 기호 모드만 적용할 수 있습니다.
명령줄의 몇 가지 예:
명령 | 설명 |
---|---|
chmod a+r publicComments.txt | 모든 클래스(예: 그룹, 소유자 및 기타)에 대한 읽기 권한을 추가합니다. |
chmod a-x publicComments.txt | 모든 클래스에 대한 실행 권한이 제거됩니다. |
chmod a+rx 뷰어.sh | 모든 클래스에 실행 및 읽기 권한이 추가됩니다. |
chmod u=rw, g=r, o=internalPlan.txt | 사용자에 대한 쓰기 및 읽기 권한을 설정하고 그룹에 대한 읽기 권한을 설정하며 기타 사용자에 대한 액세스를 거부합니다. |
chmod -R u+w, go-w 문서 | 여기에는 소유자에 대한 디렉토리 문서 및 각 콘텐츠에 대한 쓰기 권한이 포함되며 다른 사람 및 그룹에 대한 쓰기 권한은 삭제됩니다. |
chmod 및=rw groupAgreements.txt | 그룹 및 사용자에 대한 쓰기 및 읽기 권한을 설정합니다. |
chmod 664 global.txt | 그룹과 사용자에 대한 쓰기 및 읽기 권한을 설정하고 다른 사용자에게 읽기 권한을 부여합니다. |
chmod 744 Show_myCV.sh | 사용자에 대한 실행, 쓰기 및 읽기 권한을 설정하고 그룹 및 기타에 읽기 권한을 부여합니다. |