모뎀

chmod
모뎀
원저작자AT&T 벨 연구소
개발자다양한 오픈 소스 및 상용 개발자
초기 릴리즈1971년 11월 3일;50년 전(1971-11-03)
기입처플랜 9: C
운영 체제Unix, Unix like, Plan 9, Inferno, IBM i
플랫폼크로스 플랫폼
유형명령어
면허증.코어 유틸리티: GPLv3
계획 9: MIT 라이선스

Unix 및 Unix와 유사한 운영체제시스템에서 chmod파일시스템 오브젝트(파일디렉토리)의 액세스 권한특수 모드플래그(setuid, setgid sticky flag)를 변경하기 위해 사용되는 명령어 및 시스템콜입니다총칭으로 이 모드들은 원래 [1]모드라고 불리며 chmod라는 이름[2]변경 모드의 약어로 선택되었습니다.

역사

chmod 명령어는 AT&T UNIX 버전1에서 chmod 시스템콜과 함께 처음 도입되었습니다.

시스템의 수와 사용자 유형이 증가함에 따라 유연성을 높이기 위해 이러한 가장 기본적인 모드 외에 많은 파일 시스템에 액세스 제어[3] 목록이 추가되었습니다.

GNU coreutils에 번들된 chmod 버전은 David MacKenzie와 Jim Meyering에 [4]의해 작성되었습니다.이 명령어는 일반적인 GNU Unix 유사 [5]유틸리티의 네이티브 Win32 포트UnxUtils 컬렉션의 일부로 Microsoft Windows용 별도의 패키지로 사용할 수 있습니다.chmod 명령어는 IBM i 운영 [6]체제에도 이식되어 있습니다.

명령어 구문

이 섹션 전체에서 사용자는 파일의 소유자를 참조하여 명령어의 심볼 형식이 "u"를 사용함을 알려줍니다.

chmod [options] mode[,mode] file1 [file2 ...][7]

일반적으로 구현되는 옵션은 다음과 같습니다.

  • -R재귀적, 즉 하위 디렉토리에 개체를 포함합니다.
  • -vverbose, show objects changeed(바꿔진 오브젝트는 표시되지 않습니다).

심볼릭 링크를 지정하면 타깃오브젝트가 영향을 받습니다.심볼릭 링크 자체에 직접 연관된 파일 모드는 일반적으로 사용되지 않습니다.

파일 모드를 표시하려면 , 또는 커맨드를 사용합니다.

$ ls - l findPhoneNumbers.sh - rwxr - xr -- 1 derman staff 823 12월 16일 15:03 findPhoneNumbers.sh $ stat - c %a find Phone Numbers sh 754

r,w,그리고.x읽기, 쓰기 및 실행 액세스를 지정합니다(ls 표시의 첫 번째 문자는 오브젝트유형을 나타내고 하이픈은 플레인파일을 나타냅니다).스크립트 findPhoneNumbers.sh사용자 dgerman에 의해 읽기, 쓰기 및 실행될 수 있습니다.스탭 그룹의 멤버가 읽고 실행할 수 있습니다.또, 다른 유저만이 읽을 수 있습니다.

chmod 권한의 주요 부분은 다음과 같습니다.

예를 들어 다음과 같습니다.rwxr-x---

다음 3자로 구성된 각 그룹은 각 클래스에 대한 권한을 정의합니다.

  • 가장 왼쪽에 있는 세 글자rwx사용자 클래스(파일 소유자)에 대한 권한을 정의합니다.
  • 가운데 세 글자,r-x그룹 클래스(즉, 파일을 소유하는 그룹)에 대한 권한을 정의합니다.
  • 오른쪽 끝 세 글자---기타 클래스의 권한을 정의합니다.이 예에서는 파일의 소유자가 아닌 사용자 및 그룹의 구성원이 아닌 사용자(따라서 [Others]클래스에 있는 사용자)에게는 파일에 액세스할 권한이 없습니다.

수치 권한

chmod 수치 형식에는 최대 4자리까지 입력할 수 있습니다.맨 오른쪽의 3자리 숫자는 파일 사용자, 그룹 등의 권한을 정의합니다.옵션의 선두 자리수(4 자리수)는, 특별한 setuid, setgid, sticky 플래그를 지정합니다.오른쪽 끝의 세 자리 숫자는 각각 "읽기", "쓰기" 및 "실행" 권한을 제어하는 이진수 값을 나타냅니다.값이 1이면 클래스에 해당 액션이 허용되고 0이면 허용되지 않음을 나타냅니다.

# rwx 허가
7 4(r) + 2(w) + 1(x) rwx 읽기, 쓰기 및 실행
6 4(r) + 2(w) rw- 읽고 쓰다
5 4(r) + 1(x) r-x 읽고 실행하다
4 4(r) r-- 읽기 전용
3 2(w) + 1(x) -wx 쓰고 실행하다
2 2(w) -w- 쓰기 전용
1 1(x) --x 실행 전용
0 0 --- 없음.

예를들면,754다음 중 어느 것이 가능합니까?

  • 사용자 클래스에 대해 "읽기"(4), "쓰기"(2), "실행"(1)을 선택합니다.즉, 7(4+2+1)입니다.
  • 그룹 클래스에 대해 "읽기"(4) 및 "실행"(1)을 선택합니다. 즉, 5(4+1)입니다.
  • Others 클래스에는 "읽기"(4)만.

숫자 코드는 홀수인 경우에만 실행할 수 있습니다(즉, 홀수인 경우).1,3,5, 또는7숫자 코드는 다음 값보다 크거나 같은 경우에만 "읽기"4(즉,4,5,6, 또는7숫자 코드는 다음과 같은 경우에만 "쓰기"를 허용합니다.2,3,6, 또는7.

수치 예시

프로그래머 그룹의 멤버가 파일을 갱신할 수 있도록 권한을 변경합니다.

$ ls - l shared File - rw - r -- 1 jsmith 프로그래머 57 7월 3일 10:13 공유 파일 $ chmod 664 공유 파일 $ ls - l shared File - rw - r -- 1 jsmith 프로그래머 57 7월 3일 10:13 공유 파일

setuid, setgid sticky 비트가 지정되지 않았기 때문에 이는 다음과 같습니다.

$ chmod 0664 공유 파일

심볼 모드

chmod 명령어에서는 보다 세밀한 심볼 [8]표기법도 사용할 수 있습니다.이것에 의해, 다른 모드는 변경하지 않고, 특정의 모드를 변경할 수 있습니다.심볼 모드는 3개의 컴포넌트로 구성되어 있으며 이들 컴포넌트가 조합되어1개의 텍스트 문자열을 형성합니다.

$ chmod [ references ][ files ][ files ]... 

사용자 클래스는 권한이 적용되는 사용자를 구분하는 데 사용됩니다.클래스가 지정되지 않은 경우 "all"이 암시됩니다.클래스는 다음 중 하나 또는 여러 문자로 표시됩니다.

언급 학급 묘사
u 유저 파일 소유자
g 그룹. 파일 그룹의 구성원
o 다른이들 파일 소유자 또는 파일 그룹의 구성원이 아닌 사용자
a 모든. 위의 세 가지 모두와 같은ugo
(공백) 체납 umask의 비트가 변경되지 않는 것을 제외하고 "all"과 동일합니다.

chmod 프로그램은 연산자를 사용하여 파일 모드를 조정하는 방법을 지정합니다.다음 연산자를 사용할 수 있습니다.

교환입니다. 묘사
+ 지정된 모드를 지정된 클래스에 추가합니다.
- 지정된 모드를 지정된 클래스에서 삭제합니다.
= 지정된 모드는 지정된 클래스에 대해 정확한 모드로 만들어야 합니다.

모드는 지정된 클래스에서 부여 또는 삭제할 권한을 나타냅니다.기본 권한에 대응하는 세 가지 기본 모드가 있습니다.

모드 이름. 묘사
r 읽어주세요 파일을 읽거나 디렉토리의 내용을 나열하는
w 쓰다 파일 또는 디렉토리에 쓰다
x 실행하다 파일을 실행하거나 디렉터리 트리를 다시 검색합니다.
X 특별 집행 그 자체가 허가가 아니라 x 대신 사용할 수 있습니다.디렉토리의 현재 권한에 관계없이 실행 권한을 적용하고 실행 권한을 이미 하나 이상의 실행 권한 비트(사용자, 그룹 또는 기타)가 설정된 파일에 적용합니다.와 함께 사용하는 경우에만 매우 유용합니다.+그리고 통상, 그 조합에 의해-R일반 파일(텍스트 파일 등)에 대한 실행 권한을 설정하지 않고 그룹 또는 기타에 큰 디렉토리 트리에 대한 액세스 권한을 부여하기 위한 플래그입니다.이러한 접근권은 보통 사용자가 사용하는 경우에만 발생합니다.chmod -R a+rx .단, X를 사용하면 다음과 같은 작업을 수행할 수 있습니다.chmod -R a+rX .대신
s setuid/setuid
t 끈적거리는

복수의 심볼 모드를 콤마(스페이스 없음)로 구분하는 것으로, 복수의 변경을 지정할 수 있습니다.사용자가 지정되지 않은 경우chmodumask를 체크하고 효과는 umask에 설정된 비트는 영향을 [9]받지 않는다는 점을 제외하고 "a"를 지정한 것과 같습니다.

상징적 예

  • 디렉토리의 그룹(g) 액세스 모드에 쓰기 권한(w)을 추가하여 같은 그룹의 사용자가 파일을 추가할 수 있도록 합니다.
     $ ls -ld shared _ dir #chmoddrwxr - xr - x 2 jsmitt north region 96 4월8일 12:53 shared _ dir 이전 접근모드 표시 $ chmod g+w shared_displays $ ls -ld shared _ dir # chmodrwxr - x 2 jsmitt north region 96 4월8일 12:53 shared _ dir 이후 접근모드 표시 
  • 모든 클래스(a)에 대한 쓰기 권한(w)을 제거하여 다른 사용자가 파일에 쓸 수 없도록 합니다.
    $ ls - l our Best Reference File - rw - rw - r -- 2 tmiller north region 96 4월 8일 12:53 our Best Reference File $ chmod a-w 델의 베스트 레퍼런스 파일$ ls - l our Best Reference File - r--r-- 2 tmiller north region 96 4월 8일 12:53 our Best Reference File 
  • referenceLib에 대해 사용자그룹(ug)에 대해 읽기 및 실행(rx)만 허용(쓰기 권한 없음)하도록 권한을 설정하여 누구도 파일을 추가할 수 없도록 합니다.
    $ ls -ld referenceLib drwxr ----- 2 ebowman north region 96 4월8일 12:53 referenceLib $ chmod ug = reference referencereferenceLib$ ls -ld referenceLib dr - xr - x -- - 2 ebowman north region 96 4월 8일 12:53 referenceLib 
  • sample이라는 이름의 파일 또는 디렉토리의 사용자 및 그룹 클래스에 읽기 및 쓰기 권한을 추가합니다.
    $ chmod ug+rw 샘플$ ls - ld sample drw - rw ---- 2 rsanchez budget 96 12월 8일 12:53 샘플 
  • 모든 권한을 제거하여 누구도 sample이라는 이름의 파일을 읽고, 쓰고, 실행할 수 없도록 합니다.
    $ chmod a-rwx 샘플$ ls - l sample -------------------------------------------------------------------------- 
  • 샘플에 대한 사용자 및 그룹의 읽기 및 실행 권한(쓰기 권한 없음)을 변경합니다.
     $ # 명령어 $ls -ld sample drw - rw ---- 2 oschultz 웨어하우징 96 12월 8일 12:53 NY_DBs 이전 샘플 파일 권한 $ chmod ug = 샘플 표시$ ls -ld 샘플 dr - xr - x -- - 2 oschultz 웨어하우징 96 12월 8일 12:53 NJ_DBs 

특수 모드

chmod 명령어는 파일 또는 디렉토리의 추가 권한 또는 특수 모드를 변경할 수도 있습니다.심볼 모드에서는 setuid 모드와 setgid 모드를 나타내며 t스틱모드를 나타냅니다.모드는 다른 클래스가 지정되어 있는지 여부에 관계없이 적절한 클래스에만 적용됩니다.

대부분의 운영체제는 숫자적으로 특수 모드 지정을 지원하지만, 일부 운영체제는 지원하지 않습니다.이러한 시스템에서는 심볼 모드만 사용할 수 있습니다.

명령줄 예시

명령어 설명.
chmod a+r publicComments.txt 모든 클래스(사용자, 그룹기타)에 대한 읽기 권한 추가
chmod a-x publicComments.txt 모든 클래스에 대한 실행 권한을 제거합니다.
chmod a+rx viewer.sh 모든 클래스에 대한 읽기 및 실행 권한 추가
chmod u=rw,g=r,o= internalPlan.txt 사용자에 대한 읽기 및 쓰기 권한 설정, 그룹에 대한 읽기 설정 및 기타에 대한 액세스 거부
chmod -R u+w,go-w docs 소유자의 디렉토리 문서 및 모든 내용(재귀적으로)에 쓰기 권한을 추가하고 그룹 및 기타에 대한 쓰기 권한을 제거합니다.
chmod ug=rw groupAgreements.txt 사용자 및 그룹에 대한 읽기 및 쓰기 권한 설정
chmod 664 global.txt 사용자 및 그룹에 대한 읽기 및 쓰기 권한을 설정하고 기타 사용자에게 읽기 권한을 제공합니다.
chmod 744 Show_myCV.sh 사용자에 대한 읽기, 쓰기 및 실행 권한을 설정하고 그룹 및 기타대한 읽기 권한을 설정합니다.
chmod 1755 findReslts.sh 는 스틱 비트 설정, 오너에 대한 읽기, 쓰기 및 실행 권한 설정 및 그룹 및 기타에 대한 읽기 권한 및 실행 권한을 설정합니다(이는 스크립트가 메모리에 유지됨을 나타냅니다).
chmod 4755 setCtrls.sh 는 UID 설정, 사용자에 대한 읽기, 쓰기 및 실행 권한 설정, 그룹 기타에 대한 읽기 권한 및 실행 권한을 설정합니다.
chmod 2755 setCtrls.sh GID 설정, 사용자대한 읽기, 쓰기 및 실행 권한 설정, 그룹 및 기타대한 읽기 및 실행 권한 설정
chmod -R u+rwX,g-rwx,o-rx personalStuff (즉 personalStuff의 모든 파일과 디렉토리에 대해) 사용자에 대한 읽기, 쓰기 및 특수 실행 권한을 추가하고 그룹에 대한 읽기, 쓰기 및 실행 권한을 삭제하며 기타에 대한 읽기 및 실행 권한을 제거합니다.
chmod -R a-x+X publicDocs (즉, publicDocs의 모든 파일 및 디렉토리에 대해) 재귀적으로 모든 클래스에 대한 실행 권한을 삭제하고 모든 클래스에 대해 특별한 실행 권한을 추가합니다.

「 」를 참조해 주세요.

  • 파일 시스템 권한
  • chattrLinux 시스템에서 파일 또는 디렉토리의 속성을 변경하는 데 사용되는 명령어
  • chownUNIX 유사 시스템에서 파일 또는 디렉토리의 소유자를 변경하기 위해 사용하는 명령어.
  • chgrpUNIX 유사 시스템에서 파일 또는 디렉토리의 그룹을 변경하기 위해 사용하는 명령어.
  • cacls파일 또는 디렉토리와 관련된 접근컨트롤 목록을 변경하기 위해 Windows NT 및 그 파생 버전에서 사용되는 명령어
  • attrib
  • umaskUnix 유사 시스템에서 파일 또는 디렉토리 작성 시 모드(권한)를 제한합니다.
  • 사용자 식별자
  • 그룹 식별자
  • Unix 명령어 목록

레퍼런스

  1. ^ 긴 형식으로 파일을 나열할 때 모드/허가가 표시됩니다.
  2. ^ "Tutorial for chmod". catcode.com.
  3. ^ "AIX 5.3 System management". IBM knowledge Center. IBM. Retrieved 30 August 2015.
  4. ^ "chmod(1): change file mode bits - Linux man page". linux.die.net.
  5. ^ "Native Win32 ports of some GNU utilities". unxutils.sourceforge.net.
  6. ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 5 September 2020.
  7. ^ "chmod Man Page with examples and calculator - Linux - SS64.com". ss64.com.
  8. ^ "AIX 5.5 Commands Reference". IBM Knowledge Center. IBM. Retrieved 30 August 2015.
  9. ^ "Permissions masking with umask, chmod, 777 octal permissions". teaching.idallen.com.

외부 링크