Chmod 계산기
Linux 파일 퍼미션을 인터랙티브하게 계산합니다. 숫자 표기와 기호 표기를 상호 변환. 무료, 브라우저에서 처리.
- 브라우저에서 처리
- 데이터가 브라우저 밖으로 나가지 않습니다
- 무료 · 회원가입 불필요
WeChat으로 스캔하여 공유
예시·자세한 설명·자주 묻는 질문 실제 출력이 있는 예시, 다른 도구와의 차이, 자주 묻는 질문.
자주 사용하는 퍼미션
644(rw-r—r—): 일반 파일(소유자가 읽기·쓰기, 나머지는 읽기 전용)755(rwxr-xr-x): 디렉토리·실행 파일(소유자가 전체 권한, 나머지는 읽기·실행만)600(rw-------): 개인 키 등 기밀 파일(소유자만 읽기·쓰기)777(rwxrwxrwx): 모든 사용자에게 전체 권한(보안 위험이 있으므로 일반적으로 피해야 함)
그누보드5 data 디렉토리: 707과 705
그누보드5를 설치하려면 루트(common.php가 있는 디렉토리)에 data 디렉토리를 직접 만들어야 합니다(mkdir data). 디렉토리가 없으면 설치 화면이 만들라고 안내하고, 있으면 웹 프로그램이 그 안에 파일을 쓸 수 있는지 확인합니다.
설치 스크립트(install/install.inc.php)를 보면
PHP가 CGI 방식으로 실행될 때(php_sapi_name()이 cgi로 시작할 때)는 읽기와 실행만 확인해 705를, 그 밖의 경우에는 읽기·쓰기·실행을 모두 확인해
“data 디렉토리의 퍼미션을 707로 변경하여 주십시오.”라고 안내합니다. 두 값을 숫자 칸에 넣으면 다음과 같습니다.
707 rwx---rwx chmod u=rwx,g=,o=rwx filename
705 rwx---r-x chmod u=rwx,g=,o=rx filename
707은 그룹에는 아무것도 주지 않고 ‘기타’에 쓰기까지 허용합니다. 안내문에는 chmod 707 data 외에 chmod uo+rwx data도 적혀 있는데,
두 명령은 결과가 다를 수 있습니다. +는 현재 권한에 더하기만 하고 그룹의 권한은 건드리지 않기 때문입니다.
권한이 755인 디렉토리에서 각각 실행해 본 결과는 다음과 같습니다.
chmod 755 data
chmod uo+rwx data # → 757 (rwxr-xrwx)
chmod 755 data
chmod 707 data # → 707 (rwx---rwx)
757은 707보다 권한이 넓으므로 설치 검사는 통과하지만, 707과 달리 그룹에 읽기·실행이 남습니다.
CGI 방식일 때의 안내문 chmod 705 data 또는 chmod uo+rx data도 두 명령의 결과가 다를 수 있습니다. 755인 디렉토리에 uo+rx를 실행하면 이미 있는 권한이라 그대로 755이고, 700인 디렉토리라면 705가 됩니다.
chmod 755 data
chmod uo+rx data # → 755 (변화 없음)
chmod 700 data
chmod uo+rx data # → 705 (rwx---r-x)
이 도구는 항상 u=…,g=…,o=… 형태의 절대 지정을 출력하므로,
복사한 명령은 시작 권한과 상관없이 같은 결과가 됩니다.
ls -l 출력 붙여넣기
ls -l에 보이는 권한을 그대로 기호 칸에 붙여넣어도 됩니다. 맨 앞의 파일 종류 문자와 끝의 + @ . 표시는 제거됩니다.
GNU ls 매뉴얼에 따르면 .은 보안 컨텍스트(SELinux)는 있고 ACL 같은 다른 접근 방식은 없는 파일,
+는 ACL 같은 다른 접근 방식이 있는 파일을 뜻합니다. 이 경우 실제 접근 권한은 아홉 자리 표기와 다를 수 있습니다.
drwxrwxrwt → 1777
chmod u=rwx,g=rwx,o=rwx,+t filename
/tmp에서 흔히 보는 drwxrwxrwt는 누구나 파일을 만들 수 있지만 남의 파일은 지울 수 없는 스티키 비트 디렉토리입니다.
기호 명령어는 스티키를 별도의 +t로 씁니다. macOS chmod는 o+t를 무시하지만 +t는 GNU와 macOS 모두에서 동작합니다.
-rwsr-xr-x → 4755
소유자: 읽기, 쓰기, 실행, setuid; 그룹: 읽기, 실행; 기타: 읽기, 실행
제한 사항
- 절대 지정(
u=…,g=…,o=…)만 출력합니다.chmod g+w,a-x같은 상대 지정이나 디렉토리에만 실행 권한을 주는X는 만들지 않습니다. - 숫자 칸은 0–7로 된 3자리나 4자리를 받습니다. 앞뒤 공백과 Python식
0o접두사(0o644)는 무시하고, 전각 숫자는 반각으로 읽습니다. 그 밖의 문자(7558의 8 등), 2자리 이하, 5자리 이상은 ‘잘못된 8진수’ 오류를 표시하고 마지막 유효한 결과를 유지합니다. - GNU chmod는 4자리 이하 숫자(
755,0755)나 s를 언급하지 않는 기호 지정으로는 디렉토리의 SUID·SGID를 바꾸지 않습니다(coreutils 매뉴얼).2775디렉토리는chmod 755뒤에도2775이며, 지우려면chmod 00755나chmod g-s를 씁니다. find . -type f -perm 0644는 권한이 정확히 644인 파일만 찾습니다. 그 비트를 모두 가진 파일은-perm -644, 하나라도 가진 파일은-perm /644(GNU find)로 찾습니다.- 실제 접근 가능 여부는 ACL, SELinux,
noexec같은 마운트 옵션, 상위 디렉토리 권한에도 좌우됩니다.
FAQ
chmod란 무엇인가요?
chmod(change mode)는 Unix·Linux에서 파일과 디렉토리의 퍼미션(접근 권한)을 바꾸는 명령어입니다. 소유자(owner)·그룹(group)·기타(others) 세 부류의 사용자마다 읽기(r)·쓰기(w)·실행(x)을 허용할지 정합니다.
755나 644 같은 숫자는 무엇을 의미하나요?
각 자리는 8진수로, 왼쪽부터 소유자·그룹·기타의 권한을 나타냅니다. r=4, w=2, x=1을 더한 값입니다. 예: 7=rwx(4+2+1), 5=r-x(4+1), 4=r--, 0=권한 없음.
755, 644, 600은 언제 쓰나요?
755(rwxr-xr-x)는 디렉토리와 실행할 스크립트에 흔히 씁니다. 소유자는 모든 권한, 나머지는 읽기와 실행만 할 수 있습니다. 644(rw-r--r--)는 일반 파일용으로 소유자만 쓸 수 있습니다. 600(rw-------)은 SSH 개인 키처럼 소유자 외에는 볼 수 없어야 하는 파일에 씁니다.
4755나 1777 같은 네 자리 숫자는 무엇인가요?
맨 앞 자리는 특수 비트의 합으로, 4는 SUID, 2는 SGID, 1은 스티키 비트입니다. 4755는 755에 SUID를, 1777은 777에 스티키 비트를 더한 값입니다. 기호 표기에서는 실행 자리에 들어가며 실행 권한도 있으면 s·t, 없으면 S·T로 표시됩니다(4755는 rwsr-xr-x). '특수 비트'를 열어 체크하거나 숫자 칸에 네 자리를 입력하세요. GNU chmod로 디렉토리에 755를 지정해도 기존 SGID는 지워지지 않으므로, 지우려면 00755나 g-s를 씁니다.
그누보드5를 설치할 때 data 디렉토리 퍼미션은 어떻게 하나요?
그누보드5 설치 화면은 PHP가 data 디렉토리를 읽고 쓰고 실행(진입)할 수 없으면 'data 디렉토리의 퍼미션을 707로 변경하여 주십시오.'라고 안내합니다. PHP가 CGI 방식으로 실행되는 서버에서는 읽기·실행만 확인하고 705를 안내합니다. 안내문에 함께 나오는 chmod uo+rwx data는 현재 권한에 더하는 명령이라, 755인 디렉토리에 실행하면 707이 아니라 757이 됩니다. 정확히 707로 하려면 chmod 707 data를 쓰세요.
입력한 퍼미션이 서버로 전송되거나 저장되나요?
아니요. 계산은 브라우저 탭 안에서 이루어지며, 체크한 권한이나 입력한 숫자·기호 표기를 서버로 보내거나 브라우저 저장소에 저장하지 않습니다. 페이지의 방문 통계에는 사용 이벤트(도구 이름과 동작: 체크박스, 특수 비트, 확정한 숫자 또는 기호 입력)만 기록되고 퍼미션 값은 포함되지 않습니다.