- 해킹을 수행, 방어하기 위해서 리눅스 핵심 구성 요소인 사용자와 파일의 권한에 대한 학습이 필요
- dr~ : 파일의 형식과 권한을 표시
- skyriv~ : 해당 파일과 디렉터리의 사용자와 그룹의 소유권을 의미
- | rwx | rwx | rwx |
파일 형식 | 사용자(user)권한 | 그룹(group)권한 | 기타 사용자 권한 |
1번 | 2~4번 | 5~7번 | 8~10번 |
- : 파일 | r : 읽기 권한 | r : 읽기 권한 | r : 읽기 권한 |
d : 디렉터리 | w : 쓰기 권한 | w : 쓰기 권한 | w : 쓰기 권한 |
s : 소켓 파일 | x : 실행 권한 | x : 실행 권한 | x : 실행 권한 |
종류 | 파일 | 디렉터리 |
r : 읽기 권한 | 파일 읽기, 복사(cp 명령어) 가능 | ls 명령어로 디렉터리 내 목록 조회 가능 |
w : 쓰기 권한 | 파일 수정, 이동, 삭제 가능 (rm 명령어, mv 명령어 가능) | 디렉터리 내 파일을 생성, 삭제 가능 |
x : 실행 권한 | 파일 실행 가능(실행 파일, 셸 스크립트) | cd 명령어로 디렉터리 접근 가능(읽기 권한이 없다면 ls 불가) |
유형 | 설명 | 소유자 변경 명령어 |
사용자 | 파일의 소유자 | chown |
그룹 | 해당 파일의 그룹 정보 | chgrp |
기타 사용자 | 소유자, 그룹에 속하지 않는 모든 사용자 |
- whoami
- 현재 로그인한 사용자가 누구인지 확인하는 명령어
- addUser / useradd
- 사용자 추가
- addUser <사용자명>
- -d : 홈 디렉터리
- -g <그룹 Id> or -G <그룹명>
- 사용자 추가, 제거, 확인 등이 일반 사용자는 실행불가한 명령어는 sudo를 사용해서 root 권한으로 실행해야한다
- userdel
- 사용자 삭제
- 기존 사용자를 제거하려할 때 사용
- userdel <사용자명> 형식 : 해당 사용자 제거
- usermod
- 사용자 변경
- 사용자의 설정(홈 디렉터리, 비밀번호, 그룹명 등)
- usermod <옵션> <사용자명>
- 옵션
- -d : 홈 디렉터리 변경
- -g : 그룹 id 변경
- -p : 비밀번호 변경
- chmod
- 파일 권한 변경
- 파일과 디렉터리의 소유자별 읽기, 쓰기, 실행권한 변경을 위해 사용
- chmod <권한> <파일명>
- 권한
- r,w,x 기호를 이용하는 방식
- 2진수의 비트 형태로 표현하는 방식
- 권한
- ex
- chmod u+rw abc.txt
- 소유자 권한에 읽기, 쓰기 권한을 추가
- 비트 형태
- 아홉 자리로 앞에 세자리는 사용자, 중간 세 자리는 그룹, 마지막 세자리는 기타 사용자
- chmod u+rw abc.txt
- su
- 사용자 전환 코드
- su - <사용자명>
- 사용자 전환 코드
- chown
- 파일 소유권 변경
- chown <변경 사용자> <파일명>
- 소유권 변경 명령어도 파일 소유자 및 root만 실행 가능
- chgrp
- 파일의 그룹명을 변경하기 위해 chgrp
- chgrp <변경 그룹> <파일명>
- umask
- 초기 파일 접근 권한 설정
- 파일이나 디렉터리를 생성할 때 적용되는 접근 권한을 설정할 때 사용
- 옵션 없이 실행 시 현재 초기 파일 접근 권한이 출력
- 옵션
- -s : 활용하면 비트로 출력되는 접근 권한을 r,w,x와 같은 문자로 출력 가능
- 초기 파일 접근 권한 변경 시 umask <마스크 값> 입력
- umask의 비트 계산 방법은 파일의 최대 권한(666), 디렉터리 최대 권한(777)에서 마스크 값을 빼는 방식