블로그 이미지
송시혁

calendar

1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

Notice

Tag

Recent Post

Recent Comment

Recent Trackback

Archive



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
posted by 송시혁