파일 권한 조회표
숫자와 기호 변환, 특수 비트, umask, 자주 쓰는 명령어
65개
0기본 권한 비트---
아무 권한 없음
1기본 권한 비트--x
실행만 가능, 내용은 읽을 수 없음
2기본 권한 비트-w-
쓰기만 가능, 실제로는 거의 쓰이지 않음
3기본 권한 비트-wx
쓰기와 실행
4기본 권한 비트r--
읽기만 가능, 읽기 전용 파일과 키에 흔함
5기본 권한 비트r-x
읽기와 실행, 스크립트와 실행 파일의 전형
6기본 권한 비트rw-
읽기와 쓰기, 일반 데이터 파일의 전형
7기본 권한 비트rwx
전체 권한, 디렉터리에 들어가려면 필요
rwx기본 권한 비트7
문자에서 숫자로: r=4, w=2, x=1 합산
-기본 권한 비트0
권한이 없을 때 표시되는 자리 표시자
d기본 권한 비트-
파일 종류 비트: d는 디렉터리, -는 일반 파일, l은 심볼릭 링크
-rw-r--r--기본 권한 비트第 2 位 = 同组
권한은 소유자, 그룹, 기타 세 구간으로 읽음
400자주 쓰는 조합r--------
소유자만 읽기, 개인 키에 필수
440자주 쓰는 조합r--r-----
소유자와 그룹이 읽기 가능
444자주 쓰는 조합r--r--r--
모두 읽기 가능, 크론 파일에 흔함
600자주 쓰는 조합rw-------
소유자만 읽기·쓰기, 비밀번호가 든 설정에 사용
640자주 쓰는 조합rw-r-----
소유자 읽기·쓰기, 그룹 읽기
644자주 쓰는 조합rw-r--r--
일반 파일의 기본값
660자주 쓰는 조합rw-rw----
소유자와 그룹 읽기·쓰기
664자주 쓰는 조합rw-rw-r--
그룹 쓰기 가능, 공유 디렉터리에 흔함
666자주 쓰는 조합rw-rw-rw-
모두 읽기·쓰기, 보통 잘못된 설정
700자주 쓰는 조합rwx------
소유자만 접근, 개인 디렉터리
750자주 쓰는 조합rwxr-x---
소유자 전체, 그룹 읽기와 이동
755자주 쓰는 조합rwxr-xr-x
디렉터리와 스크립트의 기본값
775자주 쓰는 조합rwxrwxr-x
그룹 쓰기 가능 디렉터리, 팀 공유에 사용
777자주 쓰는 조합rwxrwxrwx
모두 전체 권한, 운영 환경에서는 금지, 웹 루트에 쓰면 사고
555자주 쓰는 조합r-xr-xr-x
읽기 전용 디렉터리, 삭제는 막지만 쓰기도 불가
500자주 쓰는 조합r-x------
소유자만 실행
111자주 쓰는 조합--x--x--x
모두 실행 가능하나 읽을 수 없음, 드물고 디버깅 어려움
drwxr-xr-x자주 쓰는 조합chmod 755 dir
디렉터리의 x 비트가 이동을 허용, r만 있으면 이름만 나열
644 / 755자주 쓰는 조합644 文件 / 755 目录
파일은 644, 디렉터리와 스크립트는 755가 일반적 기본값
chown -R www-data:www-data자주 쓰는 조합chown -R www-data:www-data dir
권한을 열지 말고 서비스 계정에 소유권을 부여
4특수 권한 비트setuid
setuid, 파일 소유자 권한으로 실행, 위험한 비트
2특수 권한 비트setgid
setgid, 파일 그룹 권한으로 실행, 디렉터리에 쓰면 새 파일이 그룹 상속
1특수 권한 비트sticky
sticky, 디렉터리 내 파일은 소유자만 삭제 가능, /tmp가 사용
4755특수 권한 비트-rwsr-xr-x
setuid와 755, 권한 상승이 필요한 실행 파일에 흔함
2755특수 권한 비트-rwxr-sr-x
setgid와 755
2775특수 권한 비트rwxrwsr-x
setgid 디렉터리, 팀 공유의 표준
1777특수 권한 비트rwxrwxrwt
sticky와 777, /tmp가 이 값
chmod u+s file특수 권한 비트4755
파일에 setuid 추가
chmod g+s dir특수 권한 비트2775
디렉터리에 setgid 추가, 새 파일이 그룹 상속
chmod +t dir특수 권한 비트1777
sticky 비트 추가
rwSr--r--특수 권한 비트rwSr--r--
x 비트가 있으면 소문자 s, 없으면 대문자 S로 실제 효과 없음
022umask文件 644 / 目录 755
기본 마스크, 666과 777에서 그룹·기타 쓰기를 제거
002umask文件 664 / 目录 775
그룹 쓰기 허용, 공유 장비에 흔함
027umask文件 640 / 目录 750
기타 사용자 권한 전면 차단, 엄격한 서버
077umask文件 600 / 目录 700
가장 엄격, 새 파일과 디렉터리에 본인만 접근
umaskumask当前掩码
현재 마스크 확인, 셸마다 다를 수 있음
umask -Sumasku=rwx,g=rx,o=rx
기호 형식으로 표시, 숫자보다 직관적
666 - umaskumask666 与 022 得到 644
새 파일은 666에서 마스크를 뺀 값, 디렉터리는 777 기준
umask 022umask仅当前 shell 生效
마스크는 현재 세션에만 적용, 지속하려면 셸 설정에 기록
chmod 755 file자주 쓰는 명령어数字改权限
권한 설정의 가장 흔한 방법
chmod u+x file자주 쓰는 명령어给所有者加执行位
기호 형식, 한 비트만 변경하고 나머지 유지
chmod -R 755 dir자주 쓰는 명령어递归改目录内全部
재귀 변경은 파일에도 적용되므로 대개 의도와 다름
chmod --reference=a b자주 쓰는 명령어b 复制 a 的权限
다른 파일의 권한을 복사, 숫자를 직접 계산하지 않음
chown user:group file자주 쓰는 명령어同时改所有者与组
소유자와 그룹 동시 변경
chown -R www-data:www-data /var/www자주 쓰는 명령어递归改归属
웹 루트를 서비스 계정에 부여, 777보다 훨씬 안전
chgrp group file자주 쓰는 명령어只改所属组
그룹만 변경
ls -l자주 쓰는 명령어-rw-r--r-- 1 ada dev
첫 열에서 권한 확인: 종류 비트와 9개 비트
stat -c "%a %n" file자주 쓰는 명령어644 file
숫자 권한 출력, ls 파싱보다 안정적
find . -type f -exec chmod 644 {} \;자주 쓰는 명령어只改文件
종류별 권한 설정, 777 사고의 표준 수정법
find . -type d -exec chmod 755 {} \;자주 쓰는 명령어只改目录
위 명령과 함께 사용
getfacl file자주 쓰는 명령어查看 ACL
ACL 확인, 표준 권한 비트 외 세부 권한
setfacl -m u:user:rw file자주 쓰는 명령어给指定用户授权
ACL로 권한 부여, 그룹 변경 불필요
sudo -u user cmd자주 쓰는 명령어以指定用户身份执行
다른 사용자로 명령 실행, 권한 디버깅에 유용
뭔가 잘못됐거나 빠진 게 있나요?
피드백 보내기