본문으로 건너뛰기

chmod 권한 계산기

chmod Calculator

8진수·기호·체크박스 권한 표기를 서로 변환하며 setuid와 sticky 비트도 다룹니다.

권한 비트마다 체크박스가 하나씩 있고, 8진수와 `ls -l` 문자열과 `chmod` 인자가 함께 갱신됩니다. `u+x` 같은 기호 표기를 지금 값에 적용해 보고, umask를 거치면 무엇이 남는지도 보여 줍니다.

🔒 브라우저 안에서만 처리chmodpermissionslinuxcalculator

권한

권한 비트마다 체크박스 하나.
대상읽기 r쓰기 w실행 x8진수
소유자이 파일을 소유한 사용자.6
그룹이 파일의 그룹에 속한 사용자.4
그 외 모두이 머신의 나머지 모든 계정.4
특수 비트네 번째 8진수 자리.0

chmod 인자

u=rw,g=r,o=r

기호 표기로 바꿔 보기

결과

744

ls가 보여 주는 모습

rwxr--r--

`chmod +x`는 값이 아니라 변화입니다. 결과는 원래 무엇이었는지에 달려 있습니다.

umask를 거치면

이 모드는

644

새 파일은

644

새 디렉터리는

755

umask는 프로그램이 요청한 권한에서 비트를 빼는 것입니다. 새 파일은 666으로, 새 디렉터리는 777로 요청되기 때문에 같은 umask에서 644와 755가 나옵니다.

실제로는 이렇게 보입니다

-rw-r--r--  1 you  staff  4096  file.txt

이 문자열에 대문자 S나 T가 있으면 set-id나 sticky 비트는 켜져 있는데 그 아래 실행 비트가 꺼져 있다는 뜻입니다. 그 비트는 아무 효과가 없고, 거의 항상 오타입니다.

사용 방법

  1. 비트를 켜거나 숫자를 칩니다

    전부 양방향입니다. `755`를 치면 체크박스가 따라오고, 체크박스를 켜면 8진수와 `ls -l` 문자열이 함께 바뀝니다.

  2. 디렉터리인지 알려 줍니다

    비트의 뜻이 달라집니다. 디렉터리에서 실행은 들어갈 권한이고 읽기는 목록을 볼 권한입니다. 읽기는 있고 실행은 없는 디렉터리가 헷갈리는 경우이고, 안내가 그것을 짚어 줍니다.

  3. 기호 표기를 적용해 봅니다

    `chmod +x`는 값이 아니라 변화입니다. 결과는 원래 무엇이었는지에 달려 있습니다. `u+x,go-w`를 넣어 실행하기 전에 결과를 확인하세요.

  4. umask가 무엇을 남기는지 봅니다

    umask는 프로그램이 요청한 권한에서 비트를 뺍니다. 입력한 umask에서 새 파일과 새 디렉터리가 어떤 권한이 되는지 보여 줍니다.

자주 묻는 질문

같은 umask인데 왜 644와 755가 나오나요?

마스크가 아니라 요청이 다르기 때문입니다. 프로그램은 일반 파일을 666으로, 디렉터리를 777로 요청합니다. `022`가 각각에서 그룹과 기타의 쓰기 비트를 빼면 644와 755가 남습니다. 마스크가 요청하지 않은 실행 비트를 더해 주는 일은 없습니다.

`ls -l`의 대문자 S는 무슨 뜻인가요?

set-id나 sticky 비트는 켜져 있는데 그 아래 실행 비트가 꺼져 있다는 뜻입니다. 그러면 그 비트는 아무 효과가 없고, 거의 항상 오타입니다. 제대로 동작하는 조합은 소문자 `s`입니다.

777이 맞는 경우도 있나요?

거의 없고, 대개는 해결이 아니라 진단입니다. 어느 비트가 빠져 있었는지 알려 주지 않은 채 오류만 사라지게 만듭니다. 공용 머신에서는 아무 계정이나 그 파일을 다시 쓸 수 있다는 뜻이기도 합니다.

ACL도 다루나요?

아니요. 고전적인 유닉스 모드만 다룹니다. `ls -l` 줄 끝의 `+`는 그 위에 POSIX ACL이 있다는 뜻이고, 그건 이 아홉 비트가 말하지 않는 접근을 허용하거나 막을 수 있습니다. 확인은 `getfacl`로 합니다.

이 도구로 이어지는 것

다음 단계

이 도구의 결과를 그대로 받을 수 있는 도구들입니다.