0. 목차
1. 파일 및 디렉토리 속성정보 (MetaData) 분석
2. 권한 변경 및 테스트
2.1. chmod
2.2. 8진수법
2.3. umask
2.4. chown
2.5. 특수 권한
3. MAC time
4. vi 편집기 사용법
------------------------------------------------------------------------------------------------------------
1. 파일 및 디렉토리 속성 정보 ( MetaData ) 분석
1.1. 예시 : -rw-r--r-- 1 root root 2 2월 17 18:49 a.txt
1.2. 분석
- - : 파일은 -, 디렉토리는 d, 심볼릭링크는 l로 표현.
- rw- : user ( ower ) 권한, r 일기 4, w 쓰기 2, x 실행 1 -> 디렉토리 접근하려면 실행권한(x).
- r-- : group 권한, r 일기 4, w 쓰기 2, x 실행 1
- r-- : 기타사용자(other), r 일기 4, w 쓰기 2, x 실행 1 소유주나 그룹에 속하지 않은 모든 user
- 1 : link 갯수
- root : 소유주(owner)
- root : 그룹(group)
- 2 : 용량(size)
- 2월 17 18:49 : 파일이나 디렉토리가 마지막으로 수정된 시간
- a.txt : 파일이나 디렉토리의 이름
2. 권한 변경 및 테스트
2.1. chmod
2.1.1. 사용자 지정 옵션
- ugoa : u = user, g = group, o = other, a = all 을 뜻하며, 옵션을 통해 권한을 얻거나 잃는다.
- + : 해당되는 권한을 추가하는 옵션
- - : 해당되는 권한을 제거하는 옵션
- rwx : r = 읽기 권한, w = 쓰기 권한, x = 실행 권한
- -R : 하위 디렉토리 속성 전파, 단 명령어 이후 새로 생성하는 파일에는 적용 안됨
2.2. 8진수법
- u : 4 + 2 + 1 => 4는 읽기, 2는 쓰기, 1은 실행을 뜻하며, 부여하고자하는 숫자를 더하여 표시.
- g : 4 + 2 + 1 => 4는 읽기, 2는 쓰기, 1은 실행을 뜻하며, 부여하고자하는 숫자를 더하여 표시.
- o : 4 + 2 + 1 => 4는 읽기, 2는 쓰기, 1은 실행을 뜻하며, 부여하고자하는 숫자를 더하여 표시.
- 777 : 첫번째 숫자 user, 두번째 숫자 groub, 세번째 숫자는 other 권한
예시는 모든 사용자에게 모든 권한을 준 것
- -R : 하위 디렉토리의 속성 전파, 단 명령어 이후 새로 생성하는 파일에는 적용 안됨.
2.3. umask
- 파일 및 디렉토리 생성 시 모든 권한을 부여하며 보안상 문제가 발생함으로 최소 권한 법칙에 근거하여 파일 및 디 렉토리의 최대 권한에서 umask 만클을 빼서 파일 및 디렉토리 생성.
- 디렉토리의 최대 권한은 777, 파일의 최대권한은 666.
- 디렉토리의 경우 해당 디렉토리에 접근하기 위해서는 반드시 x권한이 필요하기 때문에 7의 권한을 가진다.
- 파일의 경우 sh 명령어도 강제실행이 가능함으로 rw 권한만으로 충분하기에 6의 권한을 가진다.
- 기본 u 마스크는 0022로 새로운 디렉토리는 그룹과 일반사용자들에게 2를 뺀 755의 권한을 가진다. 또한 새로운 파 일은 그룹과 일반사용자들에게 2를 뺀 644의 권한을 가진다.
2.4. chown 소유권 변경
- chown 사용자id.그룹id 파일명 : 파일의 소유권을 작성한 사용자와 그룹 id로 변경
- chown 사용자id 파일명 : 파일의 소유권 작성한 사용자id로 변경
- chown .그룹id 파일명 : 파일의 소유권 작성한 그룹id로 변경
- -R : 하위 디렉토리 속성 전파, 단 명령어 이후 새로 생성하는 파일에는 적용 안됨
2.4.1. 권한 관련 예시
2.5. 특수 권한
2.5.1. setuid : 8진수법 앞에 4000번을 더하여 표현. x->s인경우 (권한O) x -> S (권한X)
- 해당 권한이 설정된 파일이 실행되는 동안에는 소유주의 권한으로 실행.
- #chmod 4755 a.txt 실행권한
- #chmod 4655 a.txt 실행권한 없음
2.5.2. setgid : 8진수법 앞에 2000번을 더하여 표현. x->s인경우 (권한O) x -> S (권한X)
- 해당 권한이 설정된 파일이 실행되는 동안에는 그룹의 권한으로 실행.
- #chmod 6755 a.txt 실행권한 --> 해당 명령어는 setuid의 4000과 합쳐져서 6000으로 표현
- #chmod 6655 a.txt 실행권한 없음
2.5.3. stickybit : 8진수법 앞에 1000번을 더하여 표현. x-t (권한O) x-T(권한O)
- 해당 권한이 설정된 디렉토리에서는 파일이나 디렉토리를 생성한 사용자만 삭제 가능
,단 최고 관리자인 root는 영향을 받지 않는다.
- # mkdir 2 stickybit는 디렉토리에 권한 부여
- # chmod 7757 2 실행권한 -> 앞선 위의 명령어에 1000번을 더한 모습.
- # chmod 7756 2 실행권한 없음
3. MAC time
3.1. 침해사고 분석 시 파일 및 디렉토리의 접근 시간 (A), 권한 변경(B), 내용 수정(M) 시간
3.2. 시간 정보 확인
- test.txt 파일을 만들어 stat 와 ls 명령어를 통해 MAC time을 확인한다.
- cat 명령어를 통해 test.txt 파일을 읽은 후 다시 stat 와 ls 명령어를 통해 MAC time을 확인한다.
=> Access 시간이 변경됨을 알 수 있다. 하지만 파일의 시간은 변경되지 않았다.
- chmod 명령어로 권한을 변경한 후 다시 확인.
=> Change 시간이 변경되었지만 ls를 통한 파일의 시간은 변경되지 않았다.
- cat >> 명령어를 통하여 파일 변경
=> modify 시간과 change 시간이 변경되었고, ls로 표현된 파일의 시간도 변경되었다.
4. vi 편집기 사용법 ( 자주 쓰는 단축키 )
4.1. 커서 이동
- h j k i : 각각 순서대로 왼쪽, 아래, 위, 오른쪽으로 커서를 움직인다.
- w : 오른쪽 단어의 끝부분으로 커서 이동
- e : 오른쪽 단어의 앞부분으로 커서 이동
- b : 왼쪽 한 단어의 앞 부분으로 커서 이동
- ^ : 행의 맨 왼쪽으로 커서 이동
- $ : 행의 맨 오른쪽으로 커서 이동
- H, L : 화면의 맨위와 맨 아래로 이동
- 숫자 G : 숫자 만큼 지정한 줄로 커서 이동
4.2. 문자, 행 삽입
- a : 커서 오른쪽에 문자 삽입
- A : 커서 오른쪽, 행의 끝에 문자 삽입
- i : 커서 왼쪽에 문자 삽입
- o : 커서 아래에 행 삽입
4.3. 텍스트 변경 명령어
- U : 행 변경사항 취소
4.4. 텍스트 삭제 명령어
- dd : 커서가 있는 라인 삭제
- 숫자 dd : 커서가 있는 라인부터 숫자라인만큼 삭제
- 숫자1, 숫자2d : 숫자1-숫자2번째 행 삭제
4.5. 복사 및 이동 명령어
- yy : 행 이동 또는 복사
- p : 복사된 행 현재 행 아래에 삽입 , 대문자는 위에 삽입
4.6. 행 번호
- se nu : 행 번호 표시
- se nonu : 번호 표시제거
4.7. 탐색 및 대체 명령어
- /검색할 문자열/ : 오른쪽 아래 방향으로 문자열 검색
- n : 문자열 다음으로 검색, 대문자는 반대로 검색
- s/문자1/문자2/ : 현재행의 문자1을 문자2로 대체
- 1,.s/문자1/문자2/ : 1부터 현재 행의 문자1을 문자2로 대체
- %s/문자1/문자2/ : 파일전체의 문자1을 문자2로 대체
- .$/문자1/문자2/ : 커서위치로부터 끝까지 문자1을 문자2로 대체
'리눅스' 카테고리의 다른 글
7. 사용자 및 그룹 관리 (2) (0) | 2022.02.21 |
---|---|
6. 사용자 및 그룹 관리 (1) (0) | 2022.02.20 |
4. Archive & 압축 (0) | 2022.02.19 |
3. 리눅스 기본 명령어 (0) | 2022.02.19 |
2. Workstation Pro를 이용한 실습 환경 구성(2) (0) | 2022.02.18 |