그룹 계정 생성 및 관리서버 인증키등록

#!/bin/bash -ex
bbungrp=`cat /etc/group | grep bbunbro | awk -F: ‘{print $1}’`
if [ -z “$bbungrp” ];
then
    groupadd -g 1001 bbunbro
    echo “add bbunbro group”
fi
bbunusr=`cat /etc/passwd | grep sungho | awk -F: ‘{print $1}’`
if [ -z “$bbunusr” ];
then
    useradd sungho -u 1001 -g 1001 -c “Mr.bbunbro” -d /bbunbro
    echo “add bbunbro user”
    echo “sungho ALL= NOPASSWD: ALL” >> /etc/sudoers
    echo “$PASSWORD” | passwd sungho –stdin
fi
# management Authorized RSA key Insert #
mkdir -p /bbunbro/.ssh
chown bbunbro:bbunbro /bbunbro/.ssh
chmod 700 /bbunbro/.ssh
cat<<EOF > /bbunbro/.ssh/authorized_keys
ssh-rsa ABCDB22222222221111111111133333333333= bbunbro@bbun.com
EOF
chown bbunbro:bbunbro /bbunbro/.ssh/authorized_keys
chmod 400 /bbunbro/.ssh/authorized_keys

그룹 및 계정 생성 후 sudo 로 권한 주기.

[그룹계정생성]

groupadd -g 1001 bbunbro

useradd sungho -u 1001 -g 1001 -c “bbunbro group” -d /bbunbro

echo 패쓰워드 | passwd test –stdin

 

[Visudo]

# 이걸추가하면 sungho 계정은 sudo 로 root에 준하는 권한을 모두허용!

sungho  ALL=(ALL)       NOPASSWD: ALL

 

또는..

Cmnd_AliasBBUNCMD = /bin/sh, /bin/chmod, /usr/bin/rsync, /usr/bin/svn, /bin/ls

sudo통해사용할커멘드를 alias 해준뒤에..

 

sungho  ALL=(ALL)       NOPASSWD: BBUNCMD

 

이렇게권한을주면되겟다.

 

 

 

 

 

 

T-shark 를 이용한 dump 수집 scheduled

Tshark

 

Tshark -D 누르면인터페이스목록이출력된다.

캡쳐할라는인터페이스번호를선택한다. (. 1)

 

Tshark -i 1

 

 

 

필터옵션을주자

-f tcp port 1111 or 2222

 

시간옵션을주자

-u hms

 

파일로남기자..

-w c:\log\

 

 
해당 옵션을 주고난후 실행되는 커멘드는 아래와 같음.

 

tshark.exe -i 1 -f tcp port 1111 or 2222” -u hms -w c:\log\packet_dump.pcap

 

 

 

스케쥴을 등록할때는 1시간에 한번씩 실행되도록.

시간단위로자르는스크립트 ( 스케쥴러로한시간단위로실행되도록?)

for /f “tokens=2-3 delims=- ” %%i in (‘date/t’) do @set DT=%%i%%j

for /f “tokens=2-3 delims=: ” %%i in (‘time/t’) do @set tm=%%i

 

::taskkill /f /im tshark.exe

 

“C:\Program Files\Wireshark\tshark.exe” -i 1 -f “tcp port 1234” -w c:\log\packet_dump_%dt%_%tm%.pcap -a duration:3600

MSSQL 계정 정책 관리

  • mssql DML
    • select top 5 * from TABLE with (nolock) where date like ‘20141212%’ and NAME=’hong’;   // Table에 name필드가 hong인 사람의 date(날짜)를 2014년 12월 12일 모든 정보를 조회한다.
    • Table 정보확인
      • 쿼리분석기에 Table적고 alt + F1

    • Index 생성
      • create index idx_TABLE on TABLE (date);

create database HONG_TEST

use HONG_TEST

exec sp_adduser ‘sungho’ , ‘HONG_TEST’;

exec sp_adduser ‘로그인이름‘,  ‘DB유저명‘;

 

 

 

  • mssql2005부터는암호정책이강력(!).
    • 계정정책풀기

ALTER LOGIN sungho WITH CHECK_POLICY = OFF

ALTER LOGIN sungho WITH PASSWORD = ‘비밀번호’ OLD_PASSWORD = ‘비밀번호’

ALTER LOGIN sungho WITH CHECK_POLICY = ON

Powershell 원격지 실행 about singing (remotesigned)

원격지실행명령어

 

  1. 스크립트서명방식에대한설명
    1. Get-help about signing

 

  1. 원격명령을통해 ps1 파일을실행하는방법

Set-ExecutionPolicy remotesigned

 

 

파라미터

 

Step 1 :파라미터 확인
Get-Help명령어로 기본
Parameter의 도움말을 제공받을 수 있습니다.

Get-Helpabout_CommonParameters

Step 2 : ErrorAction
SilentlyContinue인자를 이용해서 에러 발생해도 출력되지 않고 명령어를 계속 실행할 수 있습니다
.
Stop-Process13,23ErrorActionSilentlyContinue
Stop인자를 이용해서 에러 발생시 명령을 중단합니다.
Stop-Process13,23ErrorActionStop

Step 3 : ErrorVariable
ErrorVariable을 이용해서 에러 발생시 에러 내용을 변수에 저장할 수 있습니다
.
Stop-Process13,23ErrorVariableerrErrorActionSilentlyContinue
아래의 Script이용해서에러내용을일반평문이아닌클래스구조체형식으로정보를제공받을있습니다.
$err[0] | fl*Force
Count속성을 이용해서 에러 발생 개수를 확인할 수 있습니다.
$err.count

Step 4 : OutVariable
OutVariable파라미터를 이용해서 출력을 변수에 저장할 수 있습니다
.
Get-ProcessOutVariableoutput |out-null

Step 5 : Whatif
Whatif를 이용해서 명령어를 테스트할 수 있습니다
.
remove-itemsd.txtwhatif

PS C:\Users\hong.sungho\Desktop> Remove-Item tq.pcy -whatif

WhatIf: 대상 “C:\Users\hong.sungho\Desktop\tq.pcy”에서 “파일 제거” 작업을 수행합니다

AWS cloudfront

아마존 클라우드프론트는 설정 및 사용(비용)의 편의성이 좋다.

 

 

다만 컨텐츠의 캐싱타임이 최소1시간에서 최대 24시간을 필요로 하는점과 

이미 각 엣지에 distribution 된 (캐싱된) 데이터를 다시 재활용하기 위해서는 

 

해당 컨텐츠를 invailidations 해줘야 하는 것이 불편하다.

 

추가로 invalidation 을 해줄수 있는 objects 는 한달에 최대 1000개이며, 이를 넘길 시 

하나의 object 당 0.005 USD 가 과금된다. 

네트워크 분석도구 Traceroute 와 MTR(Matt’s Traceroute) 을 이용해보자.

네트워크 분석도구 중 traceroute 와 MTR을 통해서 네트워크 통신 상태를 분석하는 간단한 방법을 정리.

윈도우의 Tracert 에서 제공하는 ICMP 프로토콜을 이용한 check방식과 기본적인 동작방식은 동일하나,

리눅스에서 실행하면 좀더 다양한 방법으로 테스트가 가능하다.

traceroute -d -T -p 80 hongblog.bbunbro.com

이와 같이 Traceroute 기능중 -d (디버깅 레벨) -T (TCP 체크) -p No. (포트번호) 옵션등을 활용하여,
실제 체크를 하고싶은 사항을 최대한 반영하여 테스트가 가능하다.

–help 나 man을 이용해서 상세한 추가 옵션이 많으니, 활용하는 것도 좋은 방법.
해당 실행 파일은 traceroute 패키지에 포함되어 있다.

그리고, MTR 이라는 Traceroute 분석도구를 이용하는 방법을 정리한다.

MTR 명령어는 mtr 패키지에 포함되어 있으며, 분석과 관련된 다양한 정보를 포함한다.
주 사용 방법으로는 mtr –report hongblog.bbunbro.com 과 같은 레포팅 기능이 있다.

 [root@bbunbro ~]# mtr –report –no-dns hong.bbunbro.com
HOST: bbunbro.com                 Loss%   Snt   Last   Avg  Best  Wrst StDev
  1. 175.41.192.62                 0.0%    10    0.9   0.8   0.6   1.0   0.1
  2. 54.199.164.218                0.0%    10    1.1   1.3   1.0   1.6   0.3

위와 같이 reporting 기능을 이용해서 확인시 각 구간별 packet loss 등과 같은 정보를 한눈에 확인 가능하다.

mtr –report-wide –no-dns hongblog.bbunbro.com
이런식으로 report-wide 기능을 통해서, 실시간으로 네트워크 상태를 확인할 수 있도록 제공하기도 한다.
모니터링 중 keys 를 이용해서 display 및 기타 리포팅 방식을 변경할 수 있다.

사용자 삽입 이미지

Bash 에서 history 를 조회 시 실행된 날짜와 시간을 확인하자..

아래와 같이 bash_profile 에 지정합니다.

export HISTTIMEFORMAT=%F\ %T\  (공백)

그 후 history 를 조회하면, 시간과 날짜가 뙇!!~

해당 설정을 정하고 나면 이전 history 역시 시간날짜 포멧을 함께 출력하므로, 적용을 하는 시점은
아무때나 무관하겠습니다.

해당 기능은 Bash 3.0 이상에서 부터 가능합니다.