[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의 권한


참고문헌





댓글

이 블로그의 인기 게시물

[opencv-python] 이미지 크기조절(resize) 하는 법

[python] selenium close와 quit 차이점

[python]파이썬: csv reader header skip (첫번째 행 무시하기, 안읽기)