chmod 권한 계산기
chmod Calculator
8진수·기호·체크박스 권한 표기를 서로 변환하며 setuid와 sticky 비트도 다룹니다.
권한 비트마다 체크박스가 하나씩 있고, 8진수와 `ls -l` 문자열과 `chmod` 인자가 함께 갱신됩니다. `u+x` 같은 기호 표기를 지금 값에 적용해 보고, umask를 거치면 무엇이 남는지도 보여 줍니다.
권한
| 대상 | 읽기 r | 쓰기 w | 실행 x | 8진수 |
|---|---|---|---|---|
| 소유자이 파일을 소유한 사용자. | 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 비트는 켜져 있는데 그 아래 실행 비트가 꺼져 있다는 뜻입니다. 그 비트는 아무 효과가 없고, 거의 항상 오타입니다.
사용 방법
비트를 켜거나 숫자를 칩니다
전부 양방향입니다. `755`를 치면 체크박스가 따라오고, 체크박스를 켜면 8진수와 `ls -l` 문자열이 함께 바뀝니다.
디렉터리인지 알려 줍니다
비트의 뜻이 달라집니다. 디렉터리에서 실행은 들어갈 권한이고 읽기는 목록을 볼 권한입니다. 읽기는 있고 실행은 없는 디렉터리가 헷갈리는 경우이고, 안내가 그것을 짚어 줍니다.
기호 표기를 적용해 봅니다
`chmod +x`는 값이 아니라 변화입니다. 결과는 원래 무엇이었는지에 달려 있습니다. `u+x,go-w`를 넣어 실행하기 전에 결과를 확인하세요.
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`로 합니다.
이 도구로 이어지는 것
진법 변환
Number Base Converter
2·8·10·16진수와 36진법까지 상호 변환하고 비트 단위 표현도 함께 보여 줍니다.
JSON 정렬·검사
JSON Formatter & Validator
JSON을 보기 좋게 정렬하거나 압축하고, 문법 오류가 난 줄과 열을 정확히 짚어 줍니다.
YAML 정렬·검사
YAML Formatter & Validator
YAML 들여쓰기를 통일하고 문법을 검사하며, 파서를 깨뜨리는 탭·앵커 실수를 표시합니다.
TOML 정렬·검사
TOML Formatter & Validator
TOML을 정렬하고 검사하며 테이블 순서와 인라인 표기 방식을 통일합니다.
다음 단계
이 도구의 결과를 그대로 받을 수 있는 도구들입니다.
docker run 컴포즈 변환
docker run to Compose
docker run 명령을 compose 서비스 정의로 바꾸고 반대 방향 변환도 지원합니다.
.env 파일 변환
.env Parser & Converter
.env 파일을 해석해 JSON·YAML·셸 export·도커·쿠버네티스 형식으로 변환합니다.
.gitignore 생성
.gitignore Generator
언어·프레임워크·에디터 템플릿을 골라 합치고 중복을 정리해 .gitignore를 만듭니다.
Base64 인코딩·디코딩
Base64 Encoder & Decoder
텍스트와 파일을 Base64·Base64URL로 인코딩·디코딩하며 UTF-8을 올바르게 처리합니다.
curl 코드 변환
curl to Code
curl 명령을 fetch·axios·파이썬 requests·Go·PHP·PowerShell 코드로 변환합니다.
텍스트 해시 생성
Text Hash
문자열의 MD5·SHA-1·SHA-256·SHA-384·SHA-512·CRC-32를 계산하고 대문자·Base64 출력도 지원합니다.