MiServe DevTools

내 스티커

도구를 여기에 고정하세요. 이 브라우저에 저장됩니다.

chmod 계산기

권한을 체크하거나 755, rwxr-xr-x 같은 모드를 입력하면 8진수 값, 기호 표기, chmod 명령을 알려 줍니다.

권한 비트
대상 읽기 r = 4쓰기 w = 2실행 x = 1 특수
소유자 u
그룹 g
기타 o

이 모드가 허용하는 것

    8진수 모드 명령
    기호 모드 명령

    자주 쓰는 모드

    • 소유자는 파일을 수정할 수 있고 모든 사용자가 읽을 수 있습니다. 일반 파일의 보통 모드입니다.
    • 소유자만 파일을 읽고 수정할 수 있습니다. SSH 키 같은 비공개 파일에 쓰세요.
    • 소유자는 수정할 수 있고 모든 사용자가 읽고 실행할 수 있습니다. 프로그램과 디렉터리의 보통 모드입니다.
    • 소유자만 읽고, 수정하고, 실행할 수 있습니다. 비공개 디렉터리와 스크립트에 쓰세요.
    • 소유자와 그룹은 수정할 수 있고 모든 사용자가 읽고 실행할 수 있습니다. 그룹이 함께 쓰는 디렉터리에 쓰세요.
    • 소유자와 그룹은 파일을 수정할 수 있고 모든 사용자가 읽을 수 있습니다.
    • 소유자만 파일을 읽을 수 있고, 어느 대상에도 쓰기 권한이 없습니다.
    • 모든 사용자가 파일을 만들 수 있지만, sticky 비트 때문에 다른 사용자의 파일은 삭제할 수 없습니다. /tmp의 모드입니다.

    브라우저에서 실행됩니다. 붙여 넣은 내용은 업로드되지 않습니다.

    이 도구에 대하여

    모드의 구성

    Unix는 파일마다 소유자, 그룹, 그 밖의 사용자에 대한 권한 세 묶음을 둡니다. 묶음마다 읽기(4), 쓰기(2), 실행(1)의 세 비트가 있고, 켜진 비트를 더한 값이 8진수 한 자리가 됩니다. 755에서 소유자는 4 + 2 + 1 = 7, 그룹과 기타 사용자는 4 + 1 = 5이며, ls -l은 이를 rwxr-xr-x로 출력합니다.

    기호 필드는 -rw-r--r--나 drwxr-xr-x처럼 ls -l이 출력하는 열 글자 문자열 전체도 받습니다. 첫 글자는 권한이 아니라 파일 유형이므로 도구는 이를 무시합니다.

    디렉터리에서 비트의 의미

    디렉터리에서 읽기는 안에 있는 이름의 목록을 볼 수 있게 하고, 실행은 디렉터리에 들어가 안의 파일에 접근할 수 있게 합니다. 쓰기는 항목을 만들고, 삭제하고, 이름을 바꿀 수 있게 하지만 실행 권한이 함께 있어야만 합니다. 그래서 디렉터리에는 보통 읽기가 있는 곳마다 실행도 있습니다. 또한 파일을 삭제할 수 있는지는 파일 자체의 권한이 아니라 그 파일이 들어 있는 디렉터리의 권한에 따라 정해집니다.

    setuid, setgid, sticky 비트

    앞에 붙는 네 번째 자리에는 setuid(4), setgid(2), sticky(1)의 세 특수 비트가 들어갑니다. ls -l은 이를 실행 자리에 s나 t로 표시합니다. 대문자 S나 T는 특수 비트는 설정되어 있지만 그 아래의 실행 비트는 설정되어 있지 않다는 뜻입니다.

    이 도구가 출력하는 두 명령은 체크한 비트를 설정하지만, chmod가 파일에 이미 있는 특수 비트를 항상 제거하지는 않습니다. 대부분의 리눅스 배포판이 쓰는 GNU chmod는 모드에 명시하지 않는 한 chmod 755로도 디렉터리의 setuid와 setgid 비트를 유지합니다. 이 비트를 지우려면 chmod 00755로 쓰거나 a-s를 추가하세요. macOS의 chmod는 o=rx 같은 절을 써도 sticky 비트를 유지하며, chmod -t로 제거합니다. 두 구현 모두 받아들이는 형식이기 때문에 sticky 비트는 별도의 +t 절로 출력합니다.

    자주 묻는 질문

    chmod 755는 무슨 뜻인가요?

    소유자는 읽고, 쓰고, 실행할 수 있으며, 그룹과 그 밖의 사용자는 읽고 실행할 수 있지만 쓸 수는 없습니다. 다른 사용자가 쓸 수 있되 소유자만 수정해야 하는 프로그램, 스크립트, 디렉터리의 보통 모드입니다.

    SSH 개인 키에는 어떤 권한을 줘야 하나요?

    600을 쓰세요. 소유자만 파일을 읽고 쓸 수 있습니다. OpenSSH는 다른 사용자가 읽을 수 있는 개인 키를 사용하지 않습니다.

    chmod 777을 피해야 하는 이유는 무엇인가요?

    777 모드에서는 시스템의 모든 사용자가 파일을 수정하거나 교체할 수 있고, 디렉터리라면 파일을 추가하거나 삭제할 수 있습니다. 프로그램이 권한 오류로 실패하면 그 프로그램이 어떤 사용자로 실행되는지 확인하고, 그 사용자나 그룹에 필요한 권한만 주세요.

    ls -l에서 대문자 S나 T는 무슨 뜻인가요?

    setuid, setgid 또는 sticky 비트는 설정되어 있지만 같은 자리의 실행 비트는 설정되어 있지 않다는 뜻입니다. 소문자 s나 t는 둘 다 설정되어 있다는 뜻입니다.

    입력한 내용이 서버로 전송되나요?

    아니요. 변환은 브라우저 탭의 JavaScript가 처리합니다. 이 도구는 입력한 내용으로 네트워크 요청을 보내지 않으며, 사이트의 보안 정책이 다른 호스트로 가는 요청을 차단합니다.

    네트워크의 다른 도구