pw useradd user1 -m //home directory
tail /etc/passwd 마지막 10줄
tail -n 5 /etc/passwd
-f 계속 유지한채로 보여주는 옵션
반대는 head
가상 시스템 import하는것. 다시 포스팅
아래 설정은 중요해서 한 번 더 포스팅. 저거를 하지 않으면 같은 MAC주소를 부여 받을 수도 있다.
같은 가성머신(가상컴퓨터)끼리 같은 네트워크로 설정해주자.
임의로 선택된 2개 가상머신을 그룹화 시킬수도 있다.
syslog 실습 절차는 지난주와 똑같다.
syslog
=> 로그를 기록하는 파일.
로컬에다 저장가능.
syslogd = syslog를 운용하는 서버
Logging
sylog
upd 트래픽
- 네트워크 부하가 생기면 로그 분실 가능, 원격으로 다른 PC에 저장 가능.
log server 구성
/etc/rc.conf
syslogd_flags = '-a(클라이언트 CIDR):*' #flags(옵션) allow(허용)
서버로 구동하는데 로그 메시지를 클라이언트 목록
IP 적고 /24
* = 모든 서비스를 전부 받겠다는 의미.
그리고 반드시 수정한 파일은 restart한다.
서버에서 수정한거
=> service rc.conf restart
클라이언트 수정한거
=> service syslogd restart
과정은 생략하고 실행결과만 포스팅 하겠다.
tail -f /var/log/auth.log파일을 실행한다. -f 계속 유지한채로 보여주는 옵션
auth.log파일에 클라이언트 인증접속 기록이 쌓인다.
일부러 접속 3회 오류
서버에서 실행한 auth.log 모습.
정규식( Regular Expression ) Sed / Awk
< Sed >
Stream Editor
문자열 흐름(stream)을 받아 처리
라인 단위 입 /출력
*ed
< Awk >
●패턴에 의한 탐지 /처리 언어
● Sed와 유사한 용도
< 정규식(Regular Expression) >
● 문자열 검색하고
● 교체(수정)될 문자열의 지정
● grep, egrep
● 플랫폼, 버전별 검색하고
< 정규식 >
^ 라인의 시작
$ 라인의 끝
. 문자하나(\n 포함여부는 경우에 따라 다름 )
* 선행하는 패턴(문자)의 0번 또는 다수 반복 ex)a* a,aa,aaa.., 없어도 가능
+ 선행하는 패턴(문자)의 1번 또는 다수 반복 ex)a+
? 선행하는 패턴(문자)의 0번 또는 1번의 사용
| OR
[] 사용가능한 문자 범위 지정 [a-z],[a-z|A-Z|0-9],
[^] 사용가능한 문자 범위 지정 반전 [^a] 사용 불가능한것.
{n} 선행패턴의 n번 반복 [a-z]{3}
{n,} 선행패턴의 n번 또는 그 이상의 반복 [a-z]{3,}
{n,m} 선행패턴의 n번 ~ m번 반복 [a-z]{3,5}
grep -E '^A' words(-E)
=> A로 시작하는 목록을 찾아준다.
grep -E '^A' words =>
grep -E '^A.' words => 대문자 A로 시작되고 최소한 길이가 문자 하나가 있어야 함.
grep -E '^A.$' words = > 길이가 2개인것만 나온다. A와 끝문자만 나온다.
grep -E '^A.{3}$' words => 대문자 A로 시작되고 다음에 3개인 문자까지 출려.
popernames - 사람이름 정의
x로 끝나는 이름의 목록
=> grep -E 'x$' propernames | head
x를 포함하는 이름의 목록
=> grep -E '[x]' propernames
=> grep -E 'x' propernames
=> grep -E 'x.+' propernames
알파벳 5개로 구성된 이름의 목록을
=> grep -E '^[a-z|A-Z]{5}$' propernames
주석 제거된 파일의 내용
grep -E '#' apmd.conf
grep -E '^[^#]' apmd.conf
<sed>
■ 단순 문자열 패턴의 매칭에 그치지 않고
■ 특정위치에 문자열을 삽입,
특정위치, 특정 문자열 패터의 삭제
특정위치, 특정 문자열 패턴의 수정
cat -n /usr/share/dict/words
라인과 같이 출력
500_words에 a또는 A로 시작하는 5자리 알파벳 출력.
=> grep -E '^ *[0-9]+.[Aa].{4}'
500_words가 (공백)123(탭)AAxxxx 이라는 형식으로 저장되어있다.
그래서 ^시작해서 공백(스페이스바), *은 숫자(라인)가 반복되거나 반복이 안될 수 있으므로(예를 들어 198, 199등..)
[0-9] : 숫자
그리고 + 탭키 한번 .[Aa] A또는 a가 추가되어있으므로 {4}로 입력하여 5자리만 출력한다. 굉장히 어렵다 ㅜㅜ
/usr/share/dict/words파일에 500줄만 복사해서 새로운 파일인 500_words에 추가한다. 상위 500개 라인을 라인 넘버를 표시하여 500_500word로 저장
cat -n은 라인까지 텍스트 파일에 출력.
<정규식 실습>
정규식을 사용하여 아래와 같이 #PermitRoot Login no를 yes로 바꿔보자
set 's/PermitRootLogin no/PermitRootLogin yes/' /디렉토리/파일명을 입력하면 된다.
cat 명령어를 사용하여 sed 파일을 만든 뒤, 정규식 명령어를 넣어 적용시키는 것도 가능하다.
i/ 해당 라인 위에 삽입. append가 뒤쪽에 추가라면 삽입은 앞쪽에 추가 개념이다.
아래 그림처럼 495라인 위에 삽입된다.
495라인에 전체를 바꾸었다.
c\를 사용하면 아래와 같이 적용된다.
awk를 응용하여
이번에는 ifconfig 를 조회하면서 ipv4만 출력해보자.
환경변수에 3번째 목록 보이기.
cut 명령어를 써도 가능하다.
'네트워크 > virual_box_freeBSD실습' 카테고리의 다른 글
6월 29일 대칭키, 비대칭키 실습, TCPDUMP (0) | 2018.06.29 |
---|---|
6월 22일 정규식 실습 (0) | 2018.06.22 |
6월 11일 vi 확장자 모드 약간 (0) | 2018.06.11 |
6월 8일 BSD Makefile (0) | 2018.06.08 |
6월 1일 실습 (0) | 2018.06.01 |