English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Linux chmod 명령어

Linux 명령어大全

Linux chmod(영문 전체 이름: change mode) 명령어는 파일에 대한 사용자 권한을 제어하는 명령어입니다

Linux/Unix 파일 호출 권한은 세 단계로 나뉩니다: 파일 소유자(Owner), 그룹(Group), 다른 사용자(Other Users)

파일 소유자와 슈퍼 유저만 파일이나 디렉토리의 권한을 변경할 수 있습니다. 절대 모드(8진수 숫자 모드)와 기호 모드를 사용하여 파일 권한을 지정할 수 있습니다.

사용 권한 : 모든 사용자

문법

chmod [-cfvR] [--help] [--version] mode file...

매개변수 설명

mode : 권한 설정 문자열, 다음과 같은 형식으로 설정됩니다:

[ugoa...][[+-=][rwxX]...][,...]

그 중:

  • u는 파일 소유자를 의미하며, g는 파일 소유자와 같은 그룹에 속한 사람을 의미하며, o는 그 외의 사람을 의미하며, a는 이 세 가지 모두를 의미합니다.

  • + 추가 권한을 나타내며,- 취소 권한을 나타내며, =은 권한을 유일하게 설정합니다.

  • r은 읽을 수 있는 것을 의미하며, w는 쓸 수 있는 것을 의미하며, x는 실행할 수 있는 것을 의미하며, X는 파일이 서브 디렉토리인 경우 또는 파일이 이미 실행 가능으로 설정된 경우에만 해당합니다.

기타 매개변수 설명:

  • -c : 파일 권한이 실제로 변경되면 변경 동작을 표시합니다

  • -f : 파일 권한이 변경되지 않더라도 오류 메시지를 표시하지 않습니다

  • -v : 권한 변경의 상세 정보 표시

  • -R : 현재 디렉토리에 있는 모든 파일과 서브 디렉토리에 대해 동일한 권한 변경을 수행합니다(재귀 방식으로 각각 변경)

  • --help : 도움말 표시

  • --version : 버전 표시

기호 패턴

기호 패턴을 사용하여 여러个项目을 설정할 수 있습니다: who(사용자 유형), operator(연산자) 및 permission(권한), 각 프로젝트의 설정은 쉼표로 구분할 수 있습니다. chmod 명령어는 who가 지정한 사용자 유형에 파일에 대한 접근 권한을 변경합니다. 사용자 유형은 who 위치에 위치한 하나나 여러 개의 문자로 설명됩니다. 예를 들어, who의 기호 패턴 테이블에 나와 있습니다:

who사용자 유형설명
uuser파일 소유자
ggroup파일 소유자가 속한 그룹
oothers모든 다른 사용자
aall사용자, 다음과 같습니다 ugo

operator의 기호 패턴 테이블:

Operator설명
+지정된 사용자 유형에 권한을 추가합니다
-지정된 사용자 유형의 권한을 제거
=지정된 사용자 권한을 설정합니다. 즉, 사용자 유형의 모든 권한을 다시 설정

permission의 기호 모드 표 :

모드이름설명
r읽기읽기 권한으로 설정
w쓰기쓰기 권한으로 설정
x실행 권한실행 권한으로 설정
X특수 실행 권한파일이 디렉토리 파일이거나, 다른 유형의 사용자가 실행 권한을 가지고 있을 때만, 파일 권한을 실행 권한으로 설정합니다
ssetuid/gid파일이 실행될 때, who 매개변수에 지정된 사용자 유형에 따라 파일의 setuid나 setgid 권한을 설정합니다
t스타일 비트스타일 비트를 설정합니다. 슈퍼 유저만이 이 비트를 설정할 수 있으며, 파일 소유자 u만이 이 비트를 사용할 수 있습니다

오ctal 문법

chmod 명령어는 권한을 오ctal 숫자로 지정할 수 있습니다. 파일이나 디렉토리의 권한 비트는 다음과 같습니다9비트 위치를 설정하여, 각 3비트를 그룹으로 나누어, 그들은 파일 소유자(User)의 읽기, 쓰기, 실행, 그룹(Group)의 읽기, 쓰기, 실행, 그리고 기타 사용자(Other)의 읽기, 쓰기, 실행을 각각 나타냅니다. 역사적으로, 파일 권한은 비트 마스크에 배치되었으며, 마스크에서 지정된 비트는 설정됩니다1쓰기 권한을 설정합니다. 슈퍼 유저만이 이 권한을 설정할 수 있으며, 파일 소유자 u만이 이 권한을 사용할 수 있습니다

#권한rwx이진
7읽기 + 쓰기 + 실행rwx111
6읽기 + 쓰기rw-110
5읽기 + 실행r-x101
4읽기만r--100
3쓰기 + 실행-wx011
2쓰기만-w-010
1실행만--x001
0없음---000

예를 들어, 765 이렇게 설명됩니다:

  • 소유자의 권한을 숫자로 표현: 소유자의 세 권한 비트의 숫자 합계. 예를 들어 rwx, 즉 4+2+1 그래야 합니다 7。

  • 그룹의 권한을 숫자로 표현: 그룹의 권한 비트의 숫자 합계. 예를 들어 rw- 즉 4+2+0, 그래야 합니다 6。

  • 기타 사용자의 권한 숫자 표현: 기타 사용자 권한 비트의 숫자 합계. 예를 들어 r-x, 즉 4+0+1 그래야 합니다 5。

온라인 예제

파일 file1.txt 파일을 누구나 읽을 수 있게 설정합니다 :

chmod ugo+r file1.txt

파일 file1.txt 파일을 누구나 읽을 수 있게 설정합니다 :

chmod a+r file1.txt

파일 file1.txt와 file2.txt 파일 소유자와 같은 그룹에 속한 사용자가 쓸 수 있지만, 그 외의 사람들은 쓸 수 없게 설정합니다 :

chmod ug+w,o-w file1.txt file2.txt

ex1.py 파일 소유자에게 실행 권한을 추가합니다:

chmod u+x ex1.py

현재 디렉토리에 있는 모든 파일과 서브 디렉토리를 누구나 읽을 수 있게 설정합니다 :

chmod -R a+r *

또한 chmod은 권한을 숫자로 표현할 수도 있습니다. 예를 들어 :

chmod 777 file

문법은 다음과 같습니다:

chmod abc file

a, b, c 각각 숫자이며, User, Group, Other의 권한을 나타냅니다.

r =4w =2x =1

  • 기본적으로 rwx 속성이면 4+2+1=7;

  • 기본적으로 rw- 속성이면 4+2=6;

  • 기본적으로 r-x 속성을 4+1=5。

chmod a=rwx file

chmod 777 file

효과가 동일합니다

chmod ug=rwx,o=x file

chmod 771 file

효과가 동일합니다

chmod 사용 시 4755 filename 이 프로그램에 root의 권한을 부여합니다。

更多说明

명령어설명
chmod a+r filefile의 모든 사용자에 대해 읽기 권한을 추가
chmod a-x filefile의 모든 사용자에 대한 실행 권한을 제거
chmod a+rw filefile의 모든 사용자에 대해 읽기 쓰기 권한을 추가
chmod +rwx filefile의 모든 사용자에 대해 읽기 쓰기 실행 권한을 추가
chmod u=rw,go=  filefile의 소유자에 대한 읽기 쓰기 권한을 설정하고, 그룹과 다른 사용자에 대한 file의 모든 권한을 비우습니다(공백은 권한이 없음을 의미)
chmod -R u+r,go-r docsdocs 디렉토리와 그 서브디렉토리 계층 구조에 있는 모든 파일에 사용자에게 읽기 권한을 추가하고, 그룹과 다른 사용자에 대한 읽기 권한을 제거
chmod 664 filefile의 소유자와 그룹에 대한 읽기 쓰기 권한을 설정, 다른 사용자에 대한 읽기 권한을 설정
chmod 0755 file相当于u=rwx (4+2+1), go=rx (4+1 & 4+1)。0 특별 모드가 없습니다。
chmod 4755 file4설정 설정사용자 ID비트, 나머지는 u=rwx (4+2+1), go=rx (4+1 & 4+1)。
find path/ -type d -exec chmod a-x {} \;path에 대한 실행 권한을 제거/그리고 그 모든 디렉토리(파일을 제외하고)의 모든 사용자, '-type f'과 파일
find path/ -type d -exec chmod a+x {} \;모든 사용자가 경로 path를 통해 브라우징을 허용/

Linux 명령어大全