GrepBoardTools GrepBoard 매뉴얼 ↗ Log ↗

Tools / 서버 설정

chmod · umask 계산기

755·4755 같은 8진수, rwxr-x--- 같은 ls -l 문자열을 넣거나 체크박스를 고릅니다.

입력한 값은 브라우저 안에서만 계산하고 서버로 보내지 않습니다.

권한 비트
읽기 r쓰기 w실행 x특수
소유자 (u) setuid
그룹 (g) setgid
기타 (o) sticky
8진수 (stat -c %a)755
ls -l / stat -c %A-rwxr-xr-x
명령chmod 755 file
같은 기호식chmod u=rwx,g=rx,o=rx file

chmod 식 적용해 보기

umask → 새 파일 · 폴더 권한

새 파일은 666, 새 폴더는 777 에서 umask 에 켜진 비트를 뺍니다. 프로그램이 처음부터 덜 달라고 할 수도 있습니다(컴파일러는 실행 파일에 777 을 요청).

무엇을 하나

8진수 권한 · ls -l 문자열 · 체크박스를 서로 바꿉니다. 아래 칸에서는 지금 권한에 chmod 식을 적용한 결과를, 마지막 칸에서는 umask 로 정해지는 새 파일 · 폴더 권한을 계산합니다. 계산 규칙은 GNU coreutils chmod 의 것을 그대로 옮겼습니다.

예시

넣은 값결과
755rwxr-xr-x — 소유자는 전부, 나머지는 읽기 · 실행
640rw-r----- — 설정 파일에 흔함
4755rwsr-xr-x — setuid(passwd 같은 프로그램)
1777 (폴더)drwxrwxrwt — /tmp 처럼 남의 파일은 못 지우는 공용 폴더
644 에 u+x,g-w744
644 에 +w (umask 022)644 — a 를 안 쓰면 umask 에 켜진 비트(그룹 · 기타의 쓰기)는 건너뜀. a+w 면 666
umask 027새 파일 640 · 새 폴더 750

흔한 실수

  • 폴더에 x 를 빼기 — 폴더의 x 는 「들어가기」입니다. chmod -R 644 를 폴더째 걸면 안의 파일을 열 수 없게 됩니다. 파일과 폴더를 함께 다룰 때는 chmod -R u=rwX,go=rX 처럼 대문자 X(폴더이거나 이미 실행 비트가 있을 때만 x)를 씁니다.
  • 문제를 777 로 덮기 — 웹 서버 403 같은 문제는 대개 경로 중간 폴더의 x 나 소유자 문제입니다. 777 은 누구나 고칠 수 있게 열어 둡니다.
  • 폴더의 setgid 가 안 지워짐 — GNU chmod 755 폴더 는 이미 있던 setgid 를 남깁니다. chmod g-s 폴더 나 5자리 00755 로 지웁니다.

어떻게 확인했나

공개 전에 이 서버의 GNU coreutils 9.4 chmod 와 stat -c '%a %A' · bash umask + touch/mkdir 로 286번 맞대었습니다(8진수 20개 × 파일 · 폴더, 기호식 37개 × 파일 · 폴더 × umask 022 · 027, 거부되는 식 8개, umask 10개). umask 때문에 chmod 가 경고하고 종료 코드 1 을 내는 경우까지 맞췄습니다.

자주 묻는 것

755 와 0755 는 다른가요?

아니요, 파일과 폴더 모두 같습니다. 앞의 0 은 「특수 비트 없음」을 적은 것입니다. 다만 폴더에서는 GNU chmod 가 4자리까지의 숫자로는 setuid · setgid 를 지우지 않으므로, 둘 다 이미 있던 setgid 를 남깁니다. 확실히 지우려면 00755 처럼 5자리로 씁니다.

umask 022 인데 새 파일이 755 가 아니라 644 인 이유는?

새 파일은 대개 666 에서 시작하고(실행 비트 없이 만들기 때문) umask 를 빼면 644 가 됩니다. 폴더는 777 에서 시작해 755 가 됩니다. umask 는 「빼는」 값이라 있던 비트를 더하지는 않습니다.

입력한 값이 서버로 가나요?

아니요. 계산은 모두 브라우저 안에서 합니다. 입력값은 서버로 보내지 않고, 이 사이트가 쓰는 방문 통계와 광고에도 넘기지 않습니다. 자세한 것은 개인정보 처리 안내에 있습니다.