ls [ 옵션 ]
현재 디렉토리에 있는 내용 출력
< 옵션 >
-l : 자세한 내용 출력, mtime( 수정시간 )을 출력
-S : 파일 크기 순으로 정렬하여 출력
-r : 거꺼로 출력( ls 명령어의 기본은 알파벳 순 )
-lu : atime( 접근시간 )을 출력
-lc : ctime( 변경시간 )을 출력
history
사용자가 입력한 명령어들의 기록을 보여주는 것
ln -s [ 기존파일명 ] [ 새파일명 ]
심볼릭 링크 생성
ln [ 기존파일명 ] [ 새파일명 ]
하드링크 생성
ls -il
파일별로 inod Number 확인
리눅스 파일 시스템 생성
-- 디스크 파티션 --
한 개의 하드 디스크를 여러 개로 분리하여 분리 공간에 따라 다른 용도로 사용하는 것
fdisk [ 옵션 ] [ 장치명 ]
하드디스크 초기화 및 파티션 생성
< 옵션 >
-l : 현재 파일 시스템 목록 확인
-v : 버전 정보 확인
-s 장치명 : 입력된 장치의 크기 출력
-d : 파티션 삭제
-n : 파티션 생성
-p : 현재 파티션 설정 상태 확인
-- 파일 시스템 생성 --
mkfs [ 옵션 ] [ 장치이름 ]
< 옵션 >
-V : 실행되는 파일 시스템의 특정 명령어 등 모든 정보 출력
-t : 파일 시스템 형식 선택
-c : Bad Block 검사, Bad Block 리스트 초기화
-l : 파일로부터 초기 Bad Block을 읽음
-v : 현재 진행사항 출력
mke2fs [ 옵션 ] 장치명
리눅스에서 사용하는 주된 파일시스템 타입인 ext2, ext3, ext4타입의 리눅스 파일 생성
< 옵션 >
-t ext2 : ext2형식의 포맷
-j : ext3형식으로 포맷
-b 숫자 : 블록크기를 지정
-> ext : 초기 리눅스에서 사용되었던 파일 시스템 타입( 현재 사용 X )
-> ext2 : 현재 사용되고 있는 파일 시스템 타입 ( 긴 파일명 지원 )
-> ext3 : 저널링 파일 시스템 ( ext2에 비해 파일 시스템 복구기능과 보안 부분 크게 향상 )
-> ext4 : ext3보다 큰 용량까지 지원 ( 삭제 파일복구, 파일 시스템 점검속도 향상 )
-- 파일 시스템 무결성 검사 --
fsck [ 옵션 ] [ 파일시스템 옵션 ] 파일시스템/디스크 디바이스
< 옵션 >
-s : 대화형 모드에서 여러 파일 시스템을 점검할 때 유용
-t : 검사를 수행할 파일 시스템을 지정
-A : /etc/fstab 파일에 기술된 파일 시스템을 모두 검사
-N : 검사는 수행하지 않고 수행될 내용을 출력
-P : 병렬처리 수행, 루트 파일 시스템 점검
-R : 루트 파일 시스템은 제외
< 파일 시스템 옵션 >
-a : 무결성 검사 후 자동검사 수행
-r : 대화형 모드를 수행하며 오류를 수정
-n : 오류 수정하지 않고 표준 출력으로 출력
-y : 특정 파일 시스템에 대해서 오류를 자동 수정
-- 파일 시스템 마운트 --
마운트 : 리눅스에서 특정 디렉토리를 연결할 경우 사용
mount [ 옵션 ]
마운트 실행
< 옵션 >
-a : fstab에 있는 모든 파일 시스템을 마운트
-> fstab : mount를 수행할 때 참조하는 파일로 파일 시스템 마운트에 관한 정보를 가지고 있다.
-f : 실제로 마운트하지 않고 마운트 가능한지 확인
-n : /etc/mtab 파일을 쓰기 작업 하지않고 마운트
-r : 읽기만 가능하도록 마운트
-w : 읽기 및 쓰기 모드로 마운트
unmount [ 옵션 ]
마운트 해제
< 옵션 >
-n : /etc/mtab 파일을 변경하지 않고 마운트 해제
-v : 정보 출력
-a : /etc/mtab 파일에 지정된 파일 시스템을 모두 해제
-t 파일시스템명 : 지정된 파일 시스템 해제
리눅스 권한 관리
umask
Default 권한 값을 가지고 있는 명령어
umask 값이 0022라면 두 번째 자리부터 0은 소유자, 2는 그룹, 마지막 2는 다른 사용자를 의미하고,
이 값을 full 접근권한에서 빼면 그 권한을 알 수 있다.
-- 파일 생성 시 --
666 - 022 = 644
-- 디렉토리 생성 시 --
777 - 022 = 755
권한부여 및 변경
chmod [ 숫자 ] 파일명
ex. ABC 파일에 유저는 읽기/쓰기/실행 권한을, 그룹은 읽기/쓰기 권한을, 다른사람들은 읽기 권한을 부여할 때
-> chmod 464 ABC
ex. 위의 결과인 ABC 파일에서 유저는 읽기/쓰기 권한을, 그룹과 다른사람들은 실행 권한을 부여할 때
-> chmod u-x, g-rw, o-r, go+x ABC
-> chmod 611 ABC
-> chmod u=rw, go=x ABC
명령기호 | u | g | o | a | + | - | r | w | x |
설명 | user | group | other | all | 추가 | 삭제 | 읽기 | 쓰기 | 실행 |
파일에 대한 소유자와 소유그룹을 변경
chown [ 옵션 ] [ UID:GID ] 파일명
< 옵션 >
-R : 하위 디렉토리의 모든 권한 변경
-c : 권한 변경 파일 내용 출력
ex. ABC 파일에 대해 소유자와 소유그룹을 test로 변경할 때
-> chown test: ABC
ex. ABC 파일에 대해 소유그룹을 team로 변경할 때
-> chown :team ABC
ex. ABC 파일에 대해 소유자를 view로 변경할 때
-> chown view ABC
파일이나 디렉토리의 소유자그룹을 변경
chgrp [ 옵션 ] 파일명
< 옵션 >
-c : 변경된 파일만 자세하게 보여줌
-R : 경로와 그 하위 파일들을 모두 변경한다.
ex. ABC 파일에 대해 그룹을 test로 변경할 때
-> chgrp test ABC
허가권과 소유권
ls -l 명령을 사용시 아래의 그림처럼 나온다.
< 총 8개의 필드로 나눌 수 있다 >
1. - : 파일 유형
2. rw-r--r-- : 파일 허가권
3. 1 : 링크 수
4. root : 파일 소유계정명( 소유자 )
5. root : 파일 소유그룹명( 소유그룹 )
6. 132565 : 파일 크기
7. 3월 14 18:20 : 마지막으로 변경된 날짜, 시간
8. 100_100_100_x.log : 파일명
허가권 : 2번 필드 부분
소유권 : 4번, 5번 필드 부분
특수 권한 관리
setuid
setuid가 설정된 파일을 실행할 때 일시적으로 파일 소유자( 4번 필드 )의 권한을 얻어 실행할 수 있도록 한다.
허가권에서 소유자의 권한에 s가 있다면 setuid가 설정되어 있다는 것이다.
-- setuid 설정 --
8진수 4000을 더하거나 u+s를 이용
ex. chmod 4744 ABC
-> ABC 파일에 setuid가 설정되고 744권한이 부여된다.
결과 : rwsr--r--
-- 소문자 s와 대문자 S --
실행파일에 setuid를 설정하면 소문자 s가 되고 정상적으로 실행 할 수 있게된다.
실행파일이 아닌데 setuid를 설정하면 대문자 S가 되고 정상적으로 실행 할 수 없다.
setgid
setuid와 마찬가지로 setgid가 설정된 파일을 실행할 때 일시적으로
파일 소유그룹( 5번 필드 )의 권한을 얻어 실행하도록 한다.
-- setgid 설정 --
8진수 2000을 더한다.
ex. chmod 2544 ABC
-> ABC 파일에 setgid가 설정되고 544권한이 부여된다.
결과 : r-xr-sr--
-- 소문자 s와 대문자 S --
실행파일에 setgid를 설정하면 소문자 s가 되고 정상적으로 실행 할 수 있게된다.
실행파일이 아닌데 setgid를 설정하면 대문자 S가 되고 정상적으로 실행 할 수 없다.
Sticky bit
Sticky bit가 설정된 디렉토리에 파일을 생성하면 해당 파일은 생성한 사람의 소유가 되며
소유자와 root만이 해당 파일에 대한 삭제 및 수정에 대한 권한을 가질 수 있다.
즉. Sticky bit가 설정된 디렉토리안에 누구나 파일을 생성할 수는 있지만 삭제는 본인과
관리자만 가능하다.
-- Sticky bit 설정 --
8진수 1000을 더한다.
ex. chmod 1644 ABC
-> ABC 파일에 Sticky bit가 적용되고 644권한이 부여된다.
결과 : rw-r--r-t
-- 소문자 t와 대문자 T --
실행파일에 setgid를 설정하면 소문자 t가 되고 정상적으로 실행 할 수 있게된다.
실행파일이 아닌데 setgid를 설정하면 대문자 T가 되고 정상적으로 실행 할 수 없다.
find [ 경로 ] [ 옵션 ]
조건을 옵션으로 설정 한 후 조건에 맞는 파일을 검색 할 수 있다.
< 옵션 >
-name 파일명 : 파일이름과 일치
-perm 권한 : 권한과 일치
ex. find / -perm -4000
-> 전체에서 최소한 setuid가 걸려있는 모든 파일을 검색
-> -4000에서의 - : 최소한 / -4000에서의 000 : 모든파일
-user 유저 : 유저와 일치
-group 그룹 : 그룹과 일치
-empty : 비어있는 파일이나 디렉토리
-size [ +파일크기/파일크기/-파일크기 ] [bckw중 택1 ] : 파일크기와 일치
[ bckw ]
b : 블록단위( 512kb )
c : byte
k : kbyte
w : 2byte
디폴트 : b
ex. find / -size 1024k : 1024kbyte 크기의 파일 검색
ex. find / -size +1024k : 1024kbyte 크기 이상의 파일 검색
ex. find / -size -1024k : 1024kbyte 크기 이하의 파일 검색
-[ mtime/ctime/atime ] [ +/ /- ] [ 숫자 ] : 시간을 기준으로 파일 검색
ex. find / -mtime +5
-> 최근 6일 동안 변경되지 않은 파일 찾기
ex. find / -mtime -1
-> 24시간동안 변경된 파일 찾기
< 시간 표현 방법 >
who
현재 로그인 한 사용자 정보 확인( 로그인 사용자 ID, 사용 터미널, 로그인 시간 )
-> 현재 로그인한 사용자 정보는 로그인 수행시 /var/run/utmp에 기록된다.
stat [ 옵션 ] 파일명
파일이나 파일 시스템의 상태를 보여주는 명령어
확인 가능 : 파일명, 파일 크기, 사용되는 블록 정보, inode 정보, 파일에 부여된 권한, atime, ctime, mtime
< 옵션 >
-l : 링크 파일의 소스 파일 정보를 보여준다.
-f : 파일명이 있는 파일 시스템의 정보를 보여준다.
-t : 간략한 정보를 보여준다.
tty
사용자가 연결한 터미널 정보 확인
last [ 옵션 ]
로그인과 재부팅 로그를 출력
확인 가능 : 접속 계정명, 접속 장치명, 접속한 IP 주소정보, 접속시간 정보, 접속기간 정보
< 옵션 >
-num : num 만큼의 줄만 출력
-R : Hostname 필드는 출력 안함
-d : 다른 Host에서 접속한 내용만 출력
lastb [ 옵션 ]
로그인 실패 기록을 출력
< 옵션 >
-num : num 만큼의 줄만 출력
-R : Hostname 필드는 출력 안함
-d : 다른 Host에서 접속한 내용만 출력
cron [ 옵션 ]
일정한 날짜와 시간에 지정된 작업을 실행하는 프로세스( 반복적인 작업을 수행할 때 사용 )
/etc/crontab 파일에 설정된 것을 읽어서 작업 수행
crontab에 대한 로그는 /var/log/cron에 저장된다.
-- 중요한 이유 --
1. 보안 취약점 검사를 수행할 때 매일 반복적으로 점검 가능
2. 공격자가 악성코드를 실행하는 명령을 crontab에 설정해서 반복적으로 악성코드를 실행 가능
-- crontab 파일구조 --
분( 0-59 ) / 시( 0-23 ) / 일( 1-31 ) / 월( 1-12 ) / 요일( 0[일]-6[토] ) / 사용자 / 실행명령
ex. 30 * * * * /home/user/limbest
-> 무조건 30분에 맞추어 limbest 실행
ex. */10 2-5 * * * /home/user/limbest
-> 2시부터 5시까지 10분마다 limbest 실행
ex. 30 3 * * 2 /home/clean.sh
-> 매주 화요일 3시 30분에 /home/clean.sh 명령 실행
< 옵션 >
-l : 현재 로그인 된 계정에 잡혀있는 작업 스케줄 확인
-e : 현재 로그인 중인 계정에 작업을 등록
-r : 현재 crontab에 등록된 작업을 삭제
-u User명 : 작업을 실행시킬 유저명 설정
at [ 옵션 ]
예약한 명령어를 정해진 시간에 한 번만 실행
< 옵션 >
-l : 현재 실행 대기 중인 명령의 목록 출력
-r : 실행 대기 중인 명령에서 해당 작업번호 삭제
-f : 표준 입력 대신 실행할 명령을 파일로 지정
ifconfig
네트워크 인터페이스 정보를 확인하거나 네트워크 인터페이스를 시작, 종료 할 수 있다.( IP확인 )
< 옵션 >
인터페이스명 : 해당 인터페이스만 네트워크 정보 확인
-a : 모든 네트워크 정보를 볼 수 있음
-> lo 인터페이스 : 시스템이 자기자신과의 통신을 하기 위한 가상 이더넷 장치( Loopback )
netmask 주소 : 넷마스크 주소를 설정
broadcast 주소 : 브로드캐스트 주소를 설정
'자격증 > 정보보안기사 - 시스템보안' 카테고리의 다른 글
윈도우 클라이언트 및 서버 보안 명령어 (0) | 2019.08.16 |
---|---|
윈도우 클라이언트 및 서버 보안 (0) | 2019.08.07 |
리눅스 서버 보안 (0) | 2019.08.01 |
운영체제 구조 (0) | 2019.07.30 |
운영체제 이해 및 관리 (1) | 2019.07.28 |