본문 바로가기

ubuntu11

linux NTP Server / Client 설치 및 설정 정보 NTP Server / Client 설치 및 설정 정보 NTP(Network Time Protocol)를 보통 WAN 환경에서 사용하지만 Local network 구성으로 폐쇄망을 사용하는 경우에는 Public domain의 NTP를 사용할 수 없다. 그렇다고 폐쇄망 내에 위치한 많은 장치의 시간을 하나씩 수동으로 맞춘다는건 무척 많은 시간과 노력이 소요되며 입력하는 사용자의 실수 등으로 장치들의 시간 동기화가 안맞을 확률이 매우 높을 것이다. 그렇기 때문에 폐쇄망의 특정 장치를 NTP 서버로 설정하고 그 외에 모든 장치를 NTP 클라이언트로 사용하게 되면 적어도 같은 네트워크 내에서는 시간 동기화를 이뤄낼 수 있다. 물론 특정 장치의 시간은 사용자가 잘 맞춰줘야 하지만. 본론으로 들어가자. 1. 목적 .. 2022. 1. 20.
디렉토리별 용량 확인 방법 / linux du, find 활용 디렉토리별 용량 리눅스에서 디렉토리 용량을 확인하는 명령어는 du가 있다. 그리고 파일 또는 디렉토리를 탐색하는 find 명령어도 있다. 이 두개를 조합하여 디렉토리별 용량 조회하는 방법을 알아보자. 우선 du, 간단하게 소개하자면 파일(또는 디렉토리 등 대상)의 용량을 확인하는 명령어다. 자세한 내용은 아래 man page를 참고하면 되겠고 바로 예제로 들어간다. du - estimate file space usage https://man7.org/linux/man-pages/man1/du.1.html du(1) - Linux manual page man7.org 예제 1. du 명령어만 이용 root@muabow:/var/log# du . 4 ./samba/cores/smbd 4 ./samba/cor.. 2022. 1. 9.
[PHP] fileperms을 활용한 파일 탐색과 퍼미션 검사 fileperms을 활용한 파일 탐색과 퍼미션 검사 이전에 작성한 탐색기 함수를 이용하여 대상 경로의 모든 파일 중 사용자가 지정한 퍼미션이 아닌 파일을 배열로 반환하는 함수를 만든다. 공동 공간에서 작업을 하거나 서버 내 파일 생성/삭제 등 여러 파일을 제어하다 보면 퍼미션이 꼬이는 경우가 종종 발생한다. 특히 웹 서비스와 관련된 파일을 만들고 관리하다 보면 퍼미션으로 인해 웹 페이지에서 접근이 안 되는 경우가 많다. 그럴 때 일괄적으로 특정 경로의 퍼미션 체크를 할때 유용하게 사용된다. ▽ 파일 탐색기 함수 포스팅 https://muabow.tistory.com/249 [PHP] readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 op.. 2022. 1. 6.
[PHP] readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 opendir, readdir, is_dir 함수를 사용하는 재귀 함수로 구성하였다. 디렉터리는 제외하고 파일만 조회하고 탐색된 전체 경로(full path)를 배열로 반환한다. 사용방법은 함수의 인자로 탐색할 경로를 명세하면 된다. https://github.com/muabow/home/tree/main/src/php/get_file_list GitHub - muabow/home: C/C++, PHP, GO source/library C/C++, PHP, GO source/library. Contribute to muabow/home development by creating an account on GitHub. github.com 소스코드 .. 2022. 1. 6.
[PHP] web shell 설명 및 예제 공유 web shell 설명 및 예제 공유 - web shell, 웹 쉘은 웹 페이지를 통해 shell을 사용하는 것을 의미한다. 보통 shell은 telnet, ssh 등 단말에 접속할 수 있는 프로토콜을 이용하여 접속하는데 개발 환경의 테스트, 현장 대응 등 여러 가지 이유로 백도어(backdoor, 개구멍)처럼 하나씩 숨겨놓기도 한다. web shell은 일반적인 서비스의 포트 스캐닝이나 별도의 검증 툴로 확인할 수 없기 때문에 오픈 되는 경우 문제의 인지를 할 수 없어 많은 사고를 야기한다. 그러므로 개발 중 테스트 또는 인증 절차를 통한 원격 지원용 정도로만 사용하자. https://github.com/muabow/home/tree/main/src/php/web_shell GitHub - muabow.. 2022. 1. 6.
[PHP] curl GET/POST Rest API 인증, 요청 및 JSON 응답 처리 방법 curl GET/POST Rest API 인증, 요청 및 JSON 응답 처리 방법 - php curl 요청(request) 및 응답(response)을 쉽게 처리할 수 있는 함수를 소개한다. php 에서 Rest API 서버에게 요청과 응답을 하기 위해 php curl 을 사용한다. php curl 사용 방법은 많지만 사용하기 쉽도록 함수를 만들어 보았다. php curl의 오류 검증, HTTP response 의 response code 검증, json decode 검증을 통해 정상적인 JSON response 데이터인지 검증한다. 그리고 오류 시 각 상황에 맞는 HTTP code의 message로 JSON 데이터를 구성한다. 사용 방법은 아래 소스 코드를 참고하자. https://github.com/.. 2022. 1. 6.
linux haproxy 설명 및 haproxy.cfg 설정 방법 linux haproxy 설명 및 haproxy.cfg 설정 방법 haproxy는 고가용성, 고성능 TCP/HTTP 로드 밸런서 동작을 한다. 보통의 proxy 서비스는 TCP, load balance, routing 의 역할을 수행하지만 haproxy를 사용하게 된 이유는 다음과 같다. 1. 소스코드로 배포하여 임베디드 환경 등 플랫폼에 상관없이 사용할 수 있다. 2. config file 기반 설정이 용이하고 config 메뉴얼 배포가 잘되어있다. 3. HTTP routing 이 가능하다. 가장 중요한 3. HTTP routing 이 중요한 이유는 외부에 특정 포트만 노출하고(e.g. 80) 그 포트로 http/ws/unix socket 등 다양한 프로토콜을 라우팅 하기 위함이다. haproxy ro.. 2022. 1. 5.
svn add commit 전 취소 방법 svn add commit 전 취소 - linux, ubuntu, svn, add, commit, revert, 설명, 예제 svn add 상태일 때 원상태로 되돌리는 방법은 svn revert 명령을 사용하면 된다. 예제 - test_file 생성 > svn st > svn add > svn revert > svn st 확인 muabow@muabow-WorkSpace:~/project/$ touch test_file muabow@muabow-WorkSpace:~/project/$ svn st ? test_file muabow@muabow-WorkSpace:~/project/$ svn add test_file A test_file muabow@muabow-WorkSpace:~/project/$ svn r.. 2022. 1. 5.