chmod 명령
용도
파일 모드를 변경합니다.
구문
기호적으로 파일 모드를 변경하려면
chmod [ -R ] [ -h ] [ -f ] [[ u ] [ g ] [ o ] | [ a ] { - | + | = } [ r ] [ w ] [ x ] [ X ] [ s ] [ t ]} { 파일 ... | 디렉토리 ... }
숫자적으로 파일 모드를 변경하려면
chmod [ -R ] [ -h ] [ -f ] PermissionCode { 파일... | 디렉터리... }
설명
chmod 명령은 지정된 파일이나 디렉토리의 확장 액세스 제어 리스트(ACL) 및 모드 비트를 수정합니다. 모드를 기호나 수치(절대 모드)로 정의할 수 있습니다.
기호 링크를 발견하고 -h 플래그를 지정하지 않은 경우, chmod 명령은 링크 자체 모드가 아닌 링크가 가리키는 파일이나 디렉토리 모드를 변경합니다. -h 플래그를 지정한 경우, chmod 명령은 이 모드의 변경을 금지합니다.
-h 플래그 및 -R 플래그 양쪽 모두를 지정할 경우, chmod 명령은 지정한 디렉토리를 반복적으로 내리며, 기호 링크를 발견할 경우, 링크가 가리키는 파일 또는 디렉토리의 모드를 변경하지 않습니다.
플래그
| 항목 | 설명 |
|---|---|
| -f | 유효하지 않은 사용 권한 및 사용자 명령문을 제외하고 모든 보고되는 오류를 억제합니다. |
| -h | 발견한 기호 링크가 가리키는 파일이나 디렉토리에 대한
모드 변경을 억제합니다.주: 이 동작은 모드 비트가 기호 링크에서 설정될 수 없으므로, chgrp 및 chown 명령에 대한 -h 플래그의 동작과 조금 다릅니다. |
| -R | File...|Directory...
패턴으로 지정된 디렉토리만 반복적으로 내림차순으로
정렬합니다. -R 플래그는 지정한
패턴과 대응하는 모든 파일 및 각 디렉토리의 파일 모드 비트를
변경합니다. 예제 6을 참조하십시오. 기호 링크가 발견되고 링크가 디렉토리로 지정될 경우, 해당 디렉토리의 파일 모드 비트는 변경되지만 디렉토리는 더 이상 횡단되지 않습니다. |
기호 모드
기호 양식으로 모드를 지정하려면 다음 세 가지 플래그 세트를 지정해야 합니다.
주: 공백으로 플래그를 분리하지 마십시오.
플래그의 첫 번째 세트는 지정한 권한을 부여하거나 부여하지 않은 사람을 다음과 같이 지정합니다.
| 항목 | 설명 |
|---|---|
| u | 파일 소유자입니다. |
| G | 그룹 및 파일 그룹과 관련된 확장 ACL 항목입니다. |
| O | 기타 모든 항목입니다. |
| a | 사용자, 그룹, 기타 모든 항목입니다. a 플래그는 ugo 플래그를 함께 지정하는 것과 같은 효과를 갖습니다. 이러한 플래그를 전혀 지정하지 않으면 디폴트는 a 플래그이며, 파일 작성 마스크(umask)가 적용됩니다. |
두 번째 플래그 세트는 권한을 제거, 적용 또는 설정할지를 지정합니다.
| 항목 | 설명 |
|---|---|
| - | 지정된 권한을 제거합니다. |
| + | 지정된 권한을 적용합니다. |
| = | 선택한 권한 필드를 지우고 필드를 지정한 권한으로 설정하십시오. 권한과 =를 지정하지 않으면 chmod 명령은 선택된 필드에서 모든 권한을 제거합니다. |
세 번째 플래그 세트는 제거, 추가 또는 설정할 권한을 지정합니다.
| 항목 | 설명 |
|---|---|
| R | 읽기 권한입니다. |
| w | 쓰기 권한입니다. |
| X | 파일에 대해서는 실행 권한, 디렉토리에 대해서는 검색 권한입니다. |
| X | 현재(수정하지 않은) 모드 비트가 최소한 한 사람의 사용자,
그룹이나 다른 실행 비트 세트를 가질 경우, 파일에 대해서는 실행
권한입니다. X 플래그는 File 매개변수가 지정되고
현재 모드 비트에 실행 비트가 설정되지 않은 경우 무시됩니다. 디렉토리에 대해서는 검색 권한입니다. |
| s | u 플래그가 지정되거나 함축된 경우 Set-user-ID-on-execution 권한에 해당합니다. g 플래그가 지정되거나 함축되면 Set-group-ID-on-execution 권한에 해당합니다. |
| T | 디렉토리에 대하여, 파일 소유자만이 지정한 디렉토리에서 파일을 링크하거나 링크 해제할 수 있음을 나타냅니다. 파일의 경우 save-text 속성을 설정합니다. |
숫자 또는 절대 모드
또한 chmod 명령은 사용자가 모드에 대하여 8진 표기법을 사용하도록 허용합니다. 숫자 모드는 하나 이상의 다음 값의 합계입니다.
| 항목 | 설명 |
|---|---|
| 4000 | 실행 시 사용자 ID를 설정합니다. |
| 2000 | 실행 시 그룹 ID를 설정합니다. |
| 1000 | 디렉토리에 대한 링크 권한을 설정하거나 파일에 대한 save-text 속성을 설정합니다. |
| 0400 | 소유자에 의한 읽기를 허용합니다. |
| 0200 | 소유자에 의한 쓰기를 허용합니다. |
| 0100 | 소유자에 의한 실행이나 검색을 허용합니다. |
| 0040 | 그룹에 의한 읽기를 허용합니다. |
| 0020 | 그룹에 의한 쓰기를 허용합니다. |
| 0010 | 그룹에 의한 실행이나 검색을 허용합니다. |
| 0004 | 제3자에 의한 읽기를 허용합니다. |
| 0002 | 제3자에 의한 쓰기를 허용합니다. |
| 0001 | 제3자에 의한 실행이나 검색을 허용합니다. |
주:
- 숫자 모드를 지정하면 모든 확장 ACL이 사용 불가능하게 됩니다. 자세한 정보는 운영 체제 및 장치 관리 의 "액세스 제어 목록" 을 참조하십시오.
- 기호적 측면에서 그룹 액세스 권한 변경은 AIXC ACL 항목에도 영향을 줍니다. 파일의 소유 그룹과 같은 ACL의 그룹 항목은 모드에서 제거된 사용 권한에 의해 거부됩니다. 자세한 정보는 운영 체제 및 장치 관리 의 "액세스 제어 목록" 을 참조하십시오.
- 여러 개의 기호 모드를 쉼표로 분리하여 지정할 수 있습니다. 조작은 왼쪽에서 오른쪽으로 표시되는 순서로 수행됩니다.
- 실행 시 그룹 ID 설정 권한을 디렉토리에서 제거할 경우 모드를 기호로 지정하거나 0으로 시작하는 명시적 4자리수 8진수(예: 0755)를 사용해야 합니다.
- 비AIXC ACL 연관 파일 시스템 오브젝트의 경우 조작이 모드 비트의 기본 권한 비트(rwxrwxrwx)를 변경하는 모든 요청(기호 또는 숫자 관련)으로 인해 기존 ACL을 모드 비트만으로 대체합니다.
- save-text 속성은 루트 사용자만 설정하고 일반 사용자가 제거할 수 있습니다.
종료 상태
이 명령은 다음과 같은 종료값을 리턴합니다.
| 항목 | 설명 |
|---|---|
| 0 | 정상적으로 명령이 실행되었고 요청된 모든 변경이 수행되었습니다. |
| > 0 | 오류가 발생했습니다. |
보안
액세스 제어
이 프로그램은 신뢰있는 전산구조(TCB)의 일반 사용자 프로그램으로 설치되어야 합니다.
파일의 소유자나 루트 사용자만이 파일의 모드를 변경할 수 있습니다.
RBAC 사용자 및 Trusted AIX® 사용자 주의: 이 명령은 특권 조작을 수행할 수 있습니다. 특권 사용자만 특권 조작을 실행할 수 있습니다. 권한 부여와 특권에 대한 자세한 정보는 보안의 특권 명령 데이터베이스를 참조하십시오. 이 명령과 연관된 특권 및 권한 부여 리스트는 lssecattr 명령 또는 getcmdattr 부속 명령을 참조하십시오.
예
- 사용 권한의 유형을 여러 개의
파일에 추가하려면, 다음과 같이 입력하십시오.
그러면 파일에 그룹 구성원에 대한 쓰기 권한이 추가됩니다.chap1및chap2.chmod g+w chap1 chap2 - 몇 개의 사용 권한을 한 번에 변경하려면
다음과 같이 입력하십시오.
이는 그룹 구성원 및 다른 사용자에게 파일을 작성하거나 삭제할 수 있는 권한을 거부합니다.mydir(go-w) 그룹 구성원 및 기타 사용자가 검색할 수 있도록 합니다.mydir또는 경로 이름에 사용하십시오 (go+x). 이는 다음 명령 시퀀스와 동일한 결과를 가져옵니다.chmod go-w+x mydirchmod g-w mydir chmod o-w mydir chmod g+x mydir chmod o+x mydir - 소유자만 쉘 프로시저를
명령으로 사용할 수 있게 하려면 다음과 같이 입력하십시오.
그러면 파일을 소유하고 있는 사용자에게 읽기, 쓰기 및 실행 권한(u=rwx)이 부여됩니다. 또한 그룹 및 기타 사용자에게 액세스할 수 있는 권한을 거부합니다.cmd(go=).chmod u=rwx,go= cmd실행할 수 있는 권한이 있는 경우cmd다음을 입력하여 실행할 수 있습니다.
cmd주: PATH 쉘 변수에 따라,cmd파일로 내보내집니다.
- ID 모드 설정을 사용하려면 다음과 같이
입력하십시오.
같은cmd명령이 실행되면 유효 사용자 및 그룹 ID는cmd파일로 내보내집니다. 다음을 실행하는 하위 프로세스와 연관된 유효 ID만cmd명령이 변경됩니다. 쉘 세션의 유효 ID는 변경되지 않고 남아 있습니다.chmod ug+s cmd이 특징은 사용자가 제한된 파일에 액세스할 수 있게 합니다. 다음을 가정하십시오.cmd프로그램에서 사용자 ID 설정 모드를 사용할 수 있으며 호출된 사용자가 이 모드를 소유합니다.dbms.dbms실제로 개인은 아니지만 데이터베이스 관리 시스템과 연관되어 있을 수 있습니다. 권한 부여 오브젝트betty액세스할 수 있는 권한이 없습니다.dbms의 데이터 파일을 선택하십시오. 그러나 실행할 권한이 있습니다.cmd명령. 이를 수행하면 유효 사용자 ID가 임시로 다음으로 변경됩니다.dbms을 사용하여cmd프로그램은 사용자가 소유한 데이터 파일에 액세스할 수 있습니다.dbms.
이 방법으로 사용자가betty사용할 수 있는cmd명령을 사용하여 데이터 파일에 액세스할 수 있지만, 표준 쉘 명령을 사용하여 실수로 손상시킬 수는 없습니다.
- chmod 명령의 절대
모드 양식을 사용하려면 다음과 같이 입력하십시오.
그러면 소유자에게는 읽기 및 쓰기 권한이 설정되고 그룹 및 기타 사용자에게는 읽기 전용 모드만 설정됩니다. 또한 파일과 연관된 모든 확장 ACL을 제거합니다.chmod 644 text - 디렉토리를 재귀적인 내림차순으로
정렬한 후 트리 구조에 지정된 파일 및 디렉토리 사용 권한을 변경하려면
다음과 같이 입력하십시오.
./dir1/dir2/file1
./dir1/dir2/file2
./dir1/file1
다음 명령 시퀀스를 입력하십시오.
그러면 이는 ./dir1/file1에 대한 사용 권한을 변경합니다.chmod -R 777 f*하지만, 부여된 트리 구조는 다음과 같습니다.
./dir1/fdir2/file1
./dir1/fdir2/file2
./dir1/file3
이 때 다음 명령 시퀀스에서,
다음에 대한 사용 권한을 변경합니다.chmod -R 777 f*./dir1/fdir2
./dir1/fdir2/file1
./dir1/fdir2/file2
./dir1/file3
파일
| 항목 | 설명 |
|---|---|
| /usr/bin/chmod | chmod 명령을 포함합니다. |