Linux chmod

2018. 10. 18. 18:12 OS/Linux

정의 #

chmod는 change mode의 축약어로, 대상 파일과 디렉토리의 사용권한을 변경할 때 사용한다.
문자열 모드와 8진법 수 모드 중 문자열 모드는 기능적으로 좋지만 복잡하고, 8진법 수 모드는 간단하게 쓸 수 있다.

명령어 사용법 #

chmod [옵션][모드][파일]
  • if, 현재 어떤 허가들이 있는지 보기 위해서는 다음과 같이 입력한다 :
    ls –l 파일이름

[옵션] #

-R : 하위 파일과 디렉토리 모든 권한을 변경한다.
-v : 실행되고 있는 모든 파일을 나열한다.
-c : 권한이 변경된 파일내용을 출력한다.

[모드] #

1. 문자열 모드 #

Chmod 옵션 (reference)(operator)(modes) 파일
  • reference(대상) : 
    u : user의 권한 (사용자의 권한)
    g : group의 권한 (파일의 group 멤버인 사용자의 권한)
    o : other의 권한 (user, group의 멤버가 아닌 사용자의 권한)
    a : all의 권한 (위의 셋을 포함하는 모든 사용자의 권한)
  • operator :
    + : 해당 권한을 추가한다.
    - : 해당 권한을 제거한다.
    = : 해당 권한을 설정한데로 변경한다.
  • modes :
    r : read 권한 (읽기)
    w : write 권한 (쓰기)
    x : excute 권한 (실행)
    - : 사용권한없음
  • 예제 :
    chmod ug+rw sample : sample파일의 user나 group 멤버들에게 읽기, 쓰기 권한을 추가
    chmod u=rwx,g+x sample : sample파일의 user는 읽기,쓰기,실행 권한 부여, group 멤버들에게 실행권한 추가

2. 8진법 수 모드 #

Chmod 옵션 (8진법 수) 파일
  • 잠깐! 참고 사항

    • -rwxr-xr-x : 파일 접근 권한 분류 표기로, 처음 -는 파일 분류 타입.
    • 파일 타입 : d 디렉토리, l(소문자 L) 링크 카운터, s 소켓, p 파이프, - 일반, c 특수문자, b 특수블럭
  • rwxr-xr-x = 755
    처음3개문자 = user의 권한
    중간3개문자 = group의 권한
    마지막3개문자 = other의 권한
    r은 파일 읽기 = 4, w는 파일 쓰기 = 2, x는 파일 실행 = 1로, 3개문자씩 수를 더해서 쓴다.

  • 추가 사항 : 특수 권한
    777 = 일반적인 8진법 형태
    4777= SetUid 설정 때 4000을 더함
    2777= SetGid 설정 때 2000을 더함
    1777= Sticky bit 설정 때 1000을 더함

  • 예제 :
    chmod 777 test : test 파일의 user, group, other의 권한을 모두 rwx로 변경.
    chmod 4755 test : test파일의 user id설정을 지정하고, user에게 rwx 권한 부여, group과 other에게 r-x권한부여
출처 : http://www.incodom.kr/Linux/%EA%B8%B0%EB%B3%B8%EB%AA%85%EB%A0%B9%EC%96%B4/chmod