리눅스의 디렉토리 권한
리눅스에 무슨 디렉토리 권한이 있고 어떻게 관리할까
이 글의 목차
리눅스에서는 파일과 디렉토리에 대해 접근을 제어하기 위해 권한 시스템을 사용한다.
r(read), w(write), x(execute) 세가지가 기본 권한이다.
권한의 적용 대상은 아래와 같다.
- u (user/owner): 파일 소유자
- g (group): 그룹 멤버
- o (others): 기타 사용자
- a (all): 모든 사용자
권한은 -rwsr-xr-x 같이 문자로 나타낼 수도 있고 8진수를 이용해 나타낼 수도 있다.
이건 8진수 표기법의 예시다.
# 권한 값 계산
r (읽기) = 4
w (쓰기) = 2
x (실행) = 1
# 조합 예시
7 = 4+2+1 (rwx)
6 = 4+2 (rw-)
5 = 4+1 (r-x)
4 = 4 (r--)
0 = 0 (---)
이건 문자 표기법의 예시다.
# 권한 문자열 구조
-rwxrwxrwx
│││││││││
│││││││└┴┴─ 기타 사용자 권한 (others)
│││││└┴┴──── 그룹 권한 (group)
│││└┴┴─────── 소유자 권한 (user)
│└─────────── 파일 유형 (- = 일반파일, d = 디렉토리)
└──────────── 특수 권한
권한 관련 명령어로 제일 많이 쓰이는 것들도 모아봤다.
chmod - 권한 변경
# 숫자 방식
chmod 755 파일명 # rwxr-xr-x
chmod 644 파일명 # rw-r--r--
chmod 600 파일명 # rw-------
# 문자 방식
chmod u+x 파일명 # 소유자에게 실행 권한 추가
chmod g-w 파일명 # 그룹에서 쓰기 권한 제거
chmod o=r 파일명 # 기타 사용자에게 읽기 권한만 설정
chmod a+r 파일명 # 모든 사용자에게 읽기 권한 추가
# 특수 권한 설정
chmod 4755 파일명 # SetUID 설정
chmod 2755 파일명 # SetGID 설정
chmod 1755 파일명 # Sticky Bit 설정
# 재귀적 권한 변경
chmod -R 755 디렉토리명 # 하위 디렉토리까지 권한 변경
chown - 소유권 변경
chown 사용자 파일명 # 소유자 변경
chown 사용자:그룹 파일명 # 소유자와 그룹 변경
chown :그룹 파일명 # 그룹만 변경
chown -R 사용자:그룹 디렉토리명 # 재귀적 소유권 변경
ls - 자세한 권한 정보 확인
ls -l # 상세 권한 정보 표시
ls -la # 숨겨진 파일 포함 권한 정보
ls -ld 디렉토리명 # 디렉토리 자체 권한 정보