| HOME / 정보공유 / AIX 명령어 모음

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