리눅스의 디렉토리 권한
리눅스에 무슨 디렉토리 권한이 있고 어떻게 관리할까
운영체제리눅스에서는 파일과 디렉토리에 대해 접근을 제어하기 위해 권한 시스템을 사용한다.
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 디렉토리명 # 디렉토리 자체 권한 정보