정리하면서 공부하는거 진도 너무 느려서 위기감... ㅎㄷㄷ
1. 기존 디렉터리 삭제(rmdir)
rmdir(Remove Directory)명령은 기존 디렉터리 삭제시 사용
대상 디렉터리 삭제하려면 하위에 디렉터리나 파일이 없어야 함
-p 옵션이 계층적인 구조를 갖는 디렉터리를 한꺼번에 삭제하는 것 이라길래
rmdir -p 하고 아래 하위 파일 있는 디렉터리 지우는데 안 되네! 오... rm -f 랑 다른애구나
저런 불편한 애를 왜쓰...ㅈ;;
파일 접근 권한 관리
1. 접근 권한 변경 chmod
1) chmod 명령은 기존 파일 또는 디렉터리에 대한 접근 권한 변경시 사용
2) 입력 문법 -R 하위 디렉토리와 파일의 권한까지 변경
chmod o-w daemon.c 데몬 파일의 기타 사용자에 대한 쓰기 권한을 제거
chmod 664 daemon.c 데몬 파일의 user group 권한은 6으로(읽기, 쓰기) others는 4(읽기만)
3) 접근 권한을 기호로 기술하는 방법
대상 u(user) g(group) o(others)
연산자 : + 추가 - 제거 = 지정
접근권한 : r 읽기 w 쓰기 x 실행
chmod go-w daemon.c
chmod a=rw daemon.c
chmod g+x, o-x daemon.c
4) 접근 권한을 숫자로 기술하는 방법
파일 접근 권한을 세개의 8진수로 기술
r = 4, w = 2, x = 1
2. 소유주 또는 소유그룹 변경(chown / chgrp)
1) 파일이나 디렉터리의 소유주나 소유그룹을 변경할 때 사용한다
명령 실행 후 파일에 대한 이전 소유주 해당 파일에 이 명령 다시 실행 불가
2) 입력문법
-R 하위 디렉터리와 디렉터리 하위의 모든 파일의 소유주 변경
-h 심볼릭 링크 파일 자체의 소유주나 그룹을 변경
chown root daemon.c 데몬 파일의 소유주를 root로 변경
chgrp root daemon.c 데몬 파일의 소유 그룹을 root로 변경
* 옛날에 보안 업데이트 할 때 chown -R username daemon(디렉터리) 같은 방식으로 하위까지 소유주 변경했었네!
* 수퍼유저 root만 실행 가능 (sudoer 면 가능한가 근데..)
chown/chgrp 바꿀사용자 바꿀대상 (순서 알기)
3. 접근권한 마스크(umask)
1) chmod 명령은 기존 파일의 접근권한 변경시 사용이나 umask는 앞으로 만들어진 파일에 영향을 줌
2) 일반 파일 생성시 접근권한은 666 에서 umask 지정 값 빼고 권한 생성
디렉터리 생성시 접근권한은 777에서 umask 지정 값 배고 권한 생성
3) 시스템 관리자는 /etc/profile 에서 파일에 umask 를 지정하여 시스템 전체 사용자에게 획일적인 umask 적용가능
4) 입력문법 mask / 예문 umask 000 (umask 값을 000으로 재지정)
* 근데 umask 라는 명령어를 입력하면 /etc/profile에 반영되는건데 umask 명령어는 해당 사용자만 적용이고
/etc/profile에서 수정해야 전체 사용자에게 적용되나부지? (vi /etc/profile 가보니까 뭔가 쉘 냄새나게 설정되어있네)
5) 사용예제 umask 333 인 경우 일반 파일 생성시
파일 생성시 쓰기와 실행 권한을 없애라는 뜻이다. 따라서 최종 접근 권한은 444가 된다.
* 나는 666-333 해서 333 되고 쓰기랑 실행 권한만 주어졌다고? 뭔 ... 이라고 생각했는데
철저히 팔진수로 바라봐줘야 해
4. 파일검색 (find) (실무에서 이거... /로 두고 시간박치기 했던 기억만 있음 흑흑)
1) find 명령은 시스템 내에 있는 파일 중에서 사용자가 원하는 파일을 찾을 떄 사용
단순히 찾기만 하는게 아니라 파일에 특정 명령을 실행하도록 명령할 수 있어서 더욱 편리(??)
2) 이 명령을 사용할 떄 지정하는 검색경로는 파일의 최상위 디렉터리인 루트 디렉터리부터 시작하는 절대경로나
현재 디렉터리(.)로 표시하는 상대 경로를 주로 이용한다.
3) 입력문법(옵션설명) 설명 보면 아아 하면서도 사용법을 모르네 내가
-name file_name : 파일명을 지정(파일명으로 [], * 같은 메타문자 사용가능)
-type : 파일 종류를 지정(f:일반파일, d:디렉터리, b:블럭장치파일, c:문자장치파일,
l:심볼릭링크파일, s:유닉스도메인소켓, p:파이프) 와 이게 여기 연결되네
-user uname 소유자명 또는 UID를 지정
-group gname : 소유그룹 이름 또는 GID를 지정
-size [+-]num[단위] : 파일의 크기를 지정
-perm mode : 파일의 접근권한을 지정(8진수로 명시)
* -perm [-]mode 로, - 없으면 정확히 일치하는거, - 있으면 그 권한 포함하는걸 찾아옴
-atime [+-]n : access time(파일을 마지막으로 접근한 시간)을 지정
-ctime [+-]n : change time(파일의 속성이 마지막으로 변경된 시간)을 지정
-mtime [+-]n : modification time(파일의 내용이 마지막으로 변경된 시간)을 지정
* [+, -] 없으면 정확히 n일, 있으면 그 수 초과/미만을 의미함
4) 주요 옵션 실습
쪼렙
find . -perm 4000
find . -perm -4000
find . -perm 2000
find . -perm -2000
find . \( -perm -4000 -o -perm -2000 \) -exec ls -al {} \; (길어지면 다모름)
파일을 현 위치에서 찾는데, 권한이 4000이거나 2000이 포함된 걸 ls -al 실행해서 상세히 보여줘?
* -exec 옵션으로 검색 결과 파일에 대한 추가적인 명령 실행 가능
{} 의미는 검색 결과 파일들을 ls -al 명령의 인자로 전달하기 위한 기호
\; 는 명령어의 끝을 의미함 (와우)
* 검색조건이 둘 이상일 경우 -o (or) -a(and)의 논리 연산 및 ()를 추가해 우선순위 지정 가능
find -type f -mtime -1 -exec ls -al {} \;
find -type f -mtime +1 -exec ls -al {} \;
find -type f -mtime -4 -exec ls -al {} \;
find -type f -size 3M -exec ls -al {} \;
find -type f -size -3M -exec ls -al {} \;
find -type f -size +3M -exec ls -al {} \;
* 단위 b : blocks(default) c : bytes k : kilobytes M : megabytes G : gigabytes
find . -name "*.c"
-name 옵션과 함께 확장자가 .c 로 끝나는 파일을 현재 디렉터리 이하에서 검색한다
find . -name "ip*.c" -print
파일명의 첫 두 글자가 ip로 시작하는 c 프로그램을 현재 디렉터리 이하에서 찾는다.
수준테스트
1. 현재 디렉토리의 하위 경로에서 setuid만 설정되어있는 모든 파일을 찾는 명령어는?
find . perm 4000
2. 현재 디렉토리의 하위 경로에서 setuid가 설정되어있는 모든 파일을 찾는 명령어는?
find . perm -4000
3. 현재 디렉토리 하위 경로에서 setuid가 설정되어있거나 setgid 가 설정되어있는 파일 목록을 상세히 찾는 명령어?
find . \(perm -4000 -o perm -2000\) -exec ls -al \;
(근데 \ 역할이나 사용법 볼수록 맘에 안들고 이상하네 왜 세번 나오는거야 두번도 아니고 괄호 안에서는 왜있는거니
설마 \( 인건가. 그런거 같다.
\가 있으면 명령이 끝난다는 의미가 아니라 특수문자를 특수문자 괄호 열기 닫기로 인식하라고 있는듯
4. 현 디렉토리에서 마지막 수정일이 4일 미만인 파일을 검색하는 명령어는
find -type f -mtime -4 -exec ls -al {} \;
5. 루트 디렉토리 미만에서 크기가 3메가바이트를 초과하는 파일을 검색하는 명령어는
find / -size +3M -exec ls -al {} \;
6. 루트 디렉토리 미만에서 첫 글자가 ip로 시작하는 파일을 찾아라
find / -name "ip*.* -print (아잌 프린트는 또 뭐야) 결과를 화면에 출력하는게 -print 래, 기본 옵션이래
오냐
'정보보안기사 실기' 카테고리의 다른 글
정보보안기사 _ 5일차 _ 시스템 기본 학습 _ Unix / Linux 서버보안 (0) | 2022.04.05 |
---|---|
정보보안기사 _ 5일차 _ 시스템 기본 학습 _ Unix / Linux 서버보안 (0) | 2022.04.04 |
정보보안기사 _ 3일차 _ 시스템 기본 학습 _ Unix/Linux 기본 학습 (0) | 2022.03.31 |
정보보안기사 _ 문제풀이 _ 001-010 (0) | 2022.03.30 |
정보보안기사 _ 2일차 _ 시스템 기본 학습 _ 윈도우 기본학습 (0) | 2022.03.30 |