[linux] chmod 사용법
chmod란
chmod는 change mode의 축약어로 파일과 디렉토리의 사용 or 접근 권한을 결정하는 Unix 명령어다.
chmod 사용법
chmod options
- -c, --changes
권한이 변경된 파일 내용만 -v 옵션으로 출력합니다. - -f, --silent, --quiet
대부분의 메세지를 출력하지 않습니다.
ex) 변경 메세지 or 에러 메세지 등 출력 X - -v, -verbose
실행과정을 출력합니다. - -R, --recursive
디렉토리와 파일들이 권한을 재귀적으로 모두 바꾼다.
ex) A dir 안에 B file, C file이 있을 경우, A dir 권한을 변경하면 B와 C file의 권한까지 변경.
옵션이 지정되어 있지 않을 경우 chmod는 위의 "chmod 사용법"에 명시되어 있는 "file name"(파일명)에 "permissions"(권한)을 부여합니다.
chmod permissions
permissions에는 alphanumeric characters와 octal numbers 방법이 있습니다.
1. permissions - alphanumeric (문자열 모드)
chmod options (reference)(operator)(mode) file_name
- alphanumeric - reference (대상)
u : user (파일 소유자)
g : group (파일 소유자의 멤버)
o : others (user, group이 아닌 자)
a : all (위의 셋을 포함하는 모든 사용자) - alphanumeric - operator
+ : 해당 권한을 추가
- : 해당 권한을 제거
= : 해당 권한을 설정한대로 변경 - alphanumeric - mode
r : read 권한 (읽기)
w : write 권한 (쓰기)
x : execute 권한 (실행)
- : 사용권한 X
Example
- chmod u=rwx,g=rx,o=r your_file
user : read, write, execute 권한 부여
group : read 권한 부여
other : read 권한 부여 - chmod ug+rw your_file
user : read, write 권한 부여
group : read, write 권한 부여
other : - (권한 없음) - chmod u=g your_file
group의 권한을 user에게 줍니다. - chmod +x your_file
user : execute 권한 부여
group : execute 권한 부여
other : execute 권한 부여
reference(대상)을 지정하지 않으면 all(모든 사용자)로 지정됩니다.
2. permissions - octal numbers (8진수 모드)
chmod options (octal numbers) file_name
- octal numbers - mode
4 : read 권한 부여 (읽기)
2 : write 권한 부여 (쓰기)
1 : execute 권한 부여 (실행)
0 : no permission (권한 X) - 7, 5, 3 의미
7 : 4 + 2 + 1 (read, write, execute) 권한 부여
5 : 4 + 1 (read, execute) 권한 부여
3 : 2 + 1 (write, execute) 권한 부여
Example
- chmod 755 your_file
user : read, write, execute 권한 부여
group : read, execute 권한 부여
other : read, execute 권한 부여 - chmod 750 your_file
user : read, write, execute 권한 부여
group : read, execute 권한 부여
other : - (권한 없음)
파일 권한 확인하기
파일 or 디렉토리의 어떤 권한들이 있는지를 보기 위해서는"ls -l" or "ls -l 명령어"를 사용합니다.
$ ls -l
$ ls -l run_init.sh
ls -l 명령어를 사용하여 파일, 디렉토리 리스트를 출력하여 권한을 확인할 수 있습니다.
-rw-rw-r-- 1 cldw1101 cldw1101 16 5월31 10:53 run_init.sh
파일의 권한은 "-rw-rw-r--"를 확인하시면 됩니다.
-, rw-, rw-, r-- 4부분으로 나눌 수 있습니다.
- - : 파일의 타입
- : file
d : directory - rw- : user의 권한
- rw- : group의 권한
- r-- : other의 권한
댓글
댓글 쓰기