이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

반응형

분류 전체보기 415

godoc

godoc godoc이란? godoc은 go 프로그램의 문서를 생성하게 해줌. [godoc 링크] https://pkg.go.dev/golang.org/x/tools/cmd/godoc godoc 설치 [설치 명령어] go get golang.org/x/tools/cmd/godoc godoc 문서 생성 아래 명령어를 사용하면 작성한 코드와 사용하고 있는 package를 가지고 문서를 만들어줌. 그리고 문서를 볼 수 있는 local server를 제공함. 해당 문서를 통해 작성한 프로그램에서 사용한 다양한 golang package의 docs를 오프라인으로 확인할 수 있음. [명령어] godoc -http=:6060 포트는 변경해도 됨. [결과 확인] localhost:6060으로 접속하면 documenta..

코딩/GoLang 2021.12.25

Golang race flag (-race)

Golang race flag (-race) 개발할 할 시 Thread를 사용하면 deadlock(교착상태)과 data race condition(경쟁상태) 처리를 빼놓을 수가 없음. Golang은 이러한 deadlock과 data race를 방지하기 위해 Build시 race flage를 제공하고 있음. 사용방법 go run -race main.go go test -race testpkg go build -race testpkg go install -race testpkg 예) race flag를 사용하면 data race관련 오류를 log로 확인할 수 있음 이러한 deadlock(교착상태)과 data race condition(경쟁상태)를 해결하기 위해 race flag를 사용하여 조기에 오류를 확인..

코딩/GoLang 2021.12.25

C++ WMI library사용

C++ WMI library사용 목적 C++로 Windows OS 종류를 확인해야 했었음. 방법을 찾다가 WMI에 대해 알게되었음. WMI에 대해 알아보도록 함. WMI(Windows Management Instrumentation) 란? WMI란 Windows Management Instrumentation으로 Windows에 대한 Microsoft의 주요 관리 기술이라고 불려짐. MS에서 확인해보면 WMI 설명이 약간 복잡하게 되어있는데 요약해서 중점만 설명하자면 WMI는 원격으로 Windows host의 정보를 확인 할 수 있는 tool임. 알아보고자 하는 windows host의 network 정보, host name, 계정 정보 등 각종 windows 리소스를 확인 할 수 있음. WMI는 hos..

코딩/C and C++ 2021.12.22

C++ windows 로컬 그룹 정책 확인

C++ windows 로컬 그룹 정책 확인 목표 windows의 로컬 그룹 정책 값을 C++에서 확인. 예제로 로컬 그룹 정책 중에서 보안설정 > 로컬 정책 > 보안 옵션 > 네트워크 액세스 : 익명 SID/이름 변환 허용 (Access allow anonymous SID/Name Translation) 항목 설정값을 확인하는것이 목표. [로컬 그룹 정책 편집기 실행 단축키] Win+R gpedit.msc 로컬 그룹 정책 확인할 수 있는 다양한 방법 로컬 그룹 정책을 확인 할 수 있는 방법들로는 NetUserModalsGet 함수 사용, Registry, secedit로 총 4가지 방법이 있음. 순서대로 장,단점을 비교해보도록함. NetUserModalsGet 함수 사용 (결과 : 일부 사용 가능) [H..

코딩/C and C++ 2021.12.22

C++ Windows console 결과 영어로 출력

C++ Windows console 결과 영어로 출력 목표 OS 언어 설정이 한글로 되어있으면 cmd 창에서 각종 명령을 확인할 때 문자가 한글로 표현됨. 이때 한글을 영어로 출력되도록하는 방법을 알아보도록함. SetConsoleOutputCP 함수 사용 영어 : SetConsoleOutputCP(437) 한글 : SetConsoleOutputCP(949) 예제 int main() { SetConsoleOutputCP(437); // 가장 상단에 사용. ~~~~~ (코드 내용) return 0; } 사용 결과 powershell 에서 auditpol 명령 결과를 확인하는 경우 한글인 경우 영어인 경우 하지만 위에서 확인되는것과 같이 언어 설정이 한글인 OS에서 영어로 출력하는 경우 결과는 영어로 정상적으..

코딩/C and C++ 2021.12.22

05. Ansible Role

Ansible Role Ansible Role 이란? Ansible에서는 "Role"을 사용하여 일반적인 방식으로 ansible 코드를 더 쉽게 재사용하는 방법을 제공함. role은 인프라를 프로비저닝하고, 애플리케이션을 배포하는 등의 모든 작업에 대해 변수, 파일, 템플릿 등의 기타 리소스들을 표준화된 디렉토리 구조로 패키징함. 다시 정리하면, role은 쉬운 공유, 휴대성 및 재사용을 위해 특정 구조로 배열된 yaml 작업파일 및 지원 항목들의 모음임. Ansible Role template 생성 1) roles directory를 먼저 생성해줘야함. 2) ansible-galaxy 명령어 사용 ansible-galaxy install [ROLE_NAME] ansible-galaxy install -..

04. Ansible Playbook

Ansible Playbook Playbook 이란? Inventory 파일에서 정의된 Server에서 무엇을 해야할지를 정의한 것이 Playbook임. 즉 자동화 절차를 기술한 코드 파일 코드 Set을 의미함. YAML 포맷으로 표현되며 프로그래밍 언어나 스크립트가 아닌 설정이나 프로세스에 대한 모델에 대한 정의를 표현한 최소한의 문법으로 구성되어있음. playbook의 목표는 호스트의 그룹을 잘 정의된 Ansible내에서 테스크로 불리는 역할(Role)에 매핑해주는 것. Playbook 파일 파일명에 대한 규칙은 없음. 임의의 이름으로 playbook 파일을 생성해서 ansible-playbook 명령으로 실행하면 됨. [명령어] ansible-playbook "playbook 파일 이름" Playb..

03. Ansible inventory

Ansible Inventory inventory 란? 자동화 관리 대상인 Managed Node 즉 Server 목록이 작성되어 있음. Managed Node의 IP address, host 정보, 변수와 같은 정보 저장. Managed Nodes는 그룹화 하여 관리할 수 있음. 그룹은 하위 그룹을 포함할 수 있으며 한 호스트는 여러 그룹에 포함될 수 있음. inventory의 경우 목표가 host를 그룹화 하는 것임. default inventory 파일 경로 /etc/ansible/hosts inventory 파일 변경 ansible-playbook 명령어에서 -i 로 inventory 지정 가능 ex) ansible-playbook test.yml -i managed_server1 -i manag..

반응형