chmod
파일이나 디렉토리의 권한(permission)을 변경하는 명령어입니다.
파일이나 디렉토리에는 소유자, 소유자 그룹, 모든 사용자에 대한 권한이 설정되어 있습니다. chmod 명령어를 사용하면 이 권한을 변경할 수 있습니다.
chmod 명령어는 숫자 모드(numeric mode)나 기호 모드(symbolic mode) 중 하나를 사용하여 권한을 변경합니다.
기호모드 간단 설명
-rwx------ 1 example example 3 May 2 16:09 ls.sh
-rwx------
소유자, 그룹, 나머지 를 표현합니다. 권한을 부여하고 싶을때 1 아니면 0입니다.
소유자에게 읽기, 쓰기, 실행 111 <--- 이것은 이진수 입니다. 10진수로 변환합니다. 7
그룹에게 권한없음 000 <--- 이것은 이진수 입니다. 10진수로 변환합니다. 0
기타 에게 읽기, 쓰기 110 <--- 이것은 이진수 입니다. 10진수로 변환합니다. 6
2진수의 10진수 변환
110
421
-----
4+2 -> 6
2진수 16진수 변환
1101
8421
--------
8+4+1 => d
chmod 706 ls.sh
R : 하위 디렉토리까지 모두 권한 변경을 적용합니다.
v : 권한 변경 내용을 자세히 출력합니다.
c : 변경된 권한 내용만 출력합니다.
파일의 권한을 변경하는 경우:
chmod 644 file.txt
디렉토리와 그 하위 디렉토리의 권한을 변경하는 경우:
chmod -R 755 directory/
소유권이 본일일 경우에도 실행권한이 없을때 권한 없음이 발생합니다.
리눅스나 유닉스는 실행 권한1이 있으면 실행가능 한 파일이라고 생각하고 실행합니다.
소유권이 본일일 경우에도 읽기 권한이 없다면 읽을수 없습니다.